播放器精灵不在窗口中显示

时间:2017-07-04 17:02:56

标签: c++ sfml

我一直在尝试使用sfml和c ++在visual studio中创建一个sprite,代码本身运行正常并且似乎没有错误。

PLAYER.H

#pragma once
#include "pSprite.h"
#include "Sprite.h"
#include "Enemy.h"
#include "Input.h"
#include <Windows.h>

class Player : public pSprite
{
public:
Input input;
Player(const sf::Vector2f & size = sf::Vector2f(0, 0));
~Player();

pSprite playerSprite;
sf::Texture texture;

float playerWidth;
float playerHeight;
float playerSpeed;

void update(float dt);
void initPlayer(float x, float y);
void kill(); // set to gameover
bool isAlive();
void move();

sf::Vector2f position;

这是Player类的头文件,它是从pSprite类派生的,它本身是从Sprite类派生的,以便绕过&#34;无法实例化抽象类&#34;错误。

PLAYER.CPP

void Player::initPlayer(float x, float y)
{
position.x = x;
position.y = y;

playerWidth = 60;
playerHeight = 50;

texture.loadFromFile("player1.png");
playerSprite.setTexture(&texture);
playerSprite.setSize(sf::Vector2f(playerWidth, playerHeight));

playerSpeed = 10;

playerSprite.setPosition(position);
}

这是加载纹理的函数的代码,应该设置精灵。

在main函数中调用initPlayer,并且应该为main中调用的所有其他函数设置它,以便进行绘图和显示。

0 个答案:

没有答案