에서 컴퓨터 게임 프로그래밍에 대한 학자 클래스의 전용 인스턴스를하고있어 액세스. 개체 위치 및 이미지를 제공하기 위해 .cpp 파일에서 .h 파일의 개인 Texture2D 및 벡터 2 형식에 액세스하려고합니다.나는 현재 C++을 공부하고, 다른 클래스
이것은 Player.cpp이는 Player.h입니다
#include "Player.h"
#include <sstream>
Player::Player(int argc, char* argv[]) : Game(argc, argv), _cPlayerSpeed(0.1f), _cPlayerFrameTime(250)
{
//Player Inits
_playerDirection;
_playerFrame = 0;
_playerCurrentFrameTime = 0;
_playerSpeedMultiplier = 1.0f;
//Init of Important Game Aspects
Graphics::Initialise(argc, argv, this, 1024, 768, false, 25, 25, "Genocide: Remastered", 60);
Input::Initialise();
Graphics::StartGameLoop(); //Start of Game Loop, calls Update and Draw in game loop.
}
Player::~Player()
{
}
void Player::Input(int elapsedTime, Input::KeyboardState* state)
{
// Checks for directional keys pressed
if (state->IsKeyDown(Input::Keys::D))
{
_playerPosition->X += _cPlayerSpeed * elapsedTime;
}
}
/// <summary> All content should be loaded in this method. </summary>
void Player::LoadContent()
{
_playerPosition = new Vector2();
_playerTexture = new Texture2D();
_playerTexture->Load(" ", false);
_playerSourceRect = new Rect(0.0f, 0.0f, 0, 0);
}
/// <summary> Called every frame - update game logic here. </summary>
void Player::Update(int elapsedTime)
{
}
/// <summary> Called every frame - draw game here. </summary>
void Player::Draw(int elapsedTime)
{
}
파일
말 그대로 복사하여 내 강사와 함께 작업 봤는데 뭔가를 붙여 및 변경했습니다#pragma once
#ifdef WIN32
#ifndef _DEBUG
#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")
#endif
#endif
#include "S2D/S2D.h"
using namespace S2D;
class Player : public Game
{
public:
Player(int argc, char* argv[]);
~Player();
/// <summary> All content should be loaded in this method. </summary>
void virtual LoadContent();
/// <summary> Called every frame - update game logic here. </summary>
void virtual Update(int elapsedTime);
/// <summary> Called every frame - draw game here. </summary>
void virtual Draw(int elapsedTime);
private:
Vector2* _playerPostion;
Rect* _playerSourceRect;
Texture2D* _pacmanTexture;
const float _cPlayerSpeed;
const int _cPlayerFrameTime;
int _playerDirection;
int _playerFrame;
int _playerCurrentFrameTime;
float _playerSpeedMultiplier;
void Input(int elapsedTime, Input::KeyboardState* state);
void CheckPaused(Input::KeyboardState* state, Input::Keys pauseKey);
void CheckViewportCollision();
void UpdatePlayer();
};
변수, 유형 및 인스턴스화 선언과 그의 작업. 왜 내 것이 아닌지 궁금해. 도움을 많이 주시면 감사하겠습니다.
많은 감사,
Ryan.
오류가 무엇입니까? –
'_playerPosition': 선언되지 않은 식별자, '_playerTexture'와 같은 '_lowercase'를 사용하여주의 –
. '_UPPERCASE'는 파일 스코프에서 사용되는 경우'_lowercase'와 마찬가지로 C++에서 예약됩니다. 너는 지금 괜찮아. 그냥 조심해. – Bathsheba