私は単語のチュートリアルの言葉に従っていますが、私はチュートリアルを作った人から解答を得ることができなかったエラーを取得します! http://www.gamefromscratch.com/page/Game-From-Scratch-CPP-Edition-Part-6.aspx'tagINPUT'のメンバーではありません
私が手にエラーがある:
void PlayerPaddle::Update(float elapsedTime)
{
if(Game::GetInput().IsKeyDown(sf::Key::Left))
{
_velocity-=3.0f;
}
if(Game::GetInput().IsKeyDown(sf::Key::Right))
{
_velocity+=3.0f;
}
if(Game::GetInput().IsKeyDown(sf::Key::Down))
{
_velocity = 0.0f;
}
if(_velocity > _maxVelocity)
_velocity = _maxVelocity;
if(_velocity < -_maxVelocity)
_velocity = -_maxVelocity;
sf::Vector2f pos = this->GetPosition();
if(pos.x <= GetSprite().GetSize().x/2 ||
pos.x >= (Game::SCREEN_WIDTH - GetSprite().GetSize().x/2))
{
_velocity = -_velocity;
}
GetSprite().Move(_velocity * elapsedTime, 0);
}
:このスクリプトセクションで
playerpaddle.cpp(32): error C2039: 'IsKeyDown' : is not a member of 'tagINPUT'
c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winuser.h(5332) : see declaration of 'tagINPUT'
playerpaddle.cpp(36): error C2039: 'IsKeyDown' : is not a member of 'tagINPUT'
c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winuser.h(5332) : see declaration of 'tagINPUT'
playerpaddle.cpp(40): error C2039: 'IsKeyDown' : is not a member of 'tagINPUT'
c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winuser.h(5332) : see declaration of 'tagINPUT'
1>c:\users\dave\c++\pang\playerpaddle.cpp(54): error C2064: term does not evaluate to a function taking 1 arguments
私はそれが間違っていたあるチュートリアルのこのセクションに着い私はある人のために私のプロジェクトを添付しました: http://tinyurl.com/7evajju
私は理解していないのはチュートリアルがうまくいかない理由ですが、私が同じコード=/ – Sir
のときは私が同じコードではありません。ジョーは問題を釘付けにした。元のコードは:const static sf :: Input&GetInput();あなたのコードは:const static :: INPUT&GetInput();です。入力と入力は2つの非常に異なるものです。 – Serapth
さらに詳しく述べると、 'Input'はユーザ定義クラスであり、' INPUT'は入力情報を保持するためのウィンドウデータ構造です。これは 'SendInput'関数で使われます。また、 'INPUT'構造体は実際には' _tagINPUT'構造体のtypedefです。 – chris