1

本当にシンプルなシンプルなアプリケーションを作成しようとしています。

理由はわかりませんが、左矢印または右矢印をクリックしても、テクスチャによって位置が変わりません。

私は何かが欠けていると確信しています、何を理解することができません、愚かに見えるでしょう。

メインファイル: http: //paste.ubuntu.com/919662/

Character.cs: http: //paste.ubuntu.com/919664/

Position.cs: http: //paste.ubuntu.com/919665/

どうもありがとう。

4

1 に答える 1

3

更新された回答:

本当の犯人は次のとおりです。

KeyboardState Keyboard = new KeyboardState();

'Keyboard'を変数名として使用することはできません。XNAのクラスです!あなたはそれを再宣言しています。したがって、キーの押下は検出されなくなります。代わりにこれを使用してください:

KeyboardState keyb = Keyboard.GetState();

そしてあなたの参照を更新します

この答えはやや有効です:

キャラクターを初期化しています

        C = new Character(100, 100, new Position(200, 200));

ただし、Update()メソッドでは次のようにします。

        spriteBatch.Draw(myTexture, myVector, Color.White);

CharacterクラスのPosの値を適切に変更していますが、それはmyTextureに関連付けられていません。実は、画面に「キャラクター」を描いているわけでもありません。

TL; DR:「Character」クラスを変更していますが、myTextureを描画しています。CharacterではなくmyTextureを保持するオブジェクトの座標を変更します。

さらに、画面に「キャラクター」を描きたい場合は、独自のPosクラスの代わりにVector2Dを使用するのが最善の方法です。

もう一つ:

LoadContentであなたがしている

        myVector = new Vector2(C.Pos.Col, C.Pos.Row);

ただし、ドキュメントには次のように明記されています。/// LoadContentはゲームごとに1回呼び出され、///すべてのコンテンツをロードする場所です。

これで、修正方法を開始できます。それでも質問がある場合は、私の回答の下にコメントを投稿してください。

于 2012-04-07T23:04:19.363 に答える