6

http://xbox.create.msdn.com/en-US/education/tutorial/2dgame/creating_the_playerから、次のコードを使用するように指示されています。

public int Width()
    {
        get { return PlayerTexture.Width; }
    }

    public int Height()
    {
        get { return PlayerTexture.Height; }
    }

ただし、「get」アクセサーはまったく認識されていないようです。次のエラーが表示されます。

  • 「get」という名前は、現在のコンテキストには存在しません。

  • ステートメントとして使用できるのは、代入、呼び出し、インクリメント、デクリメント、および新しいオブジェクト式のみです。

「using System.(Something)」行がありませんか? 私の問題を調査している間、これが何度もうまく使用されているのを見てきましたが、同じことに遭遇した人を見つけることができません.

Microsoft Visual C# 2010 Express で XNA Game Studio 4.0 を使用しています。これは、Player.cs クラスの完全なコードです。

using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Shooter
{
class Player
{
    private Texture2D PlayerTexture;
    public Vector2 Position;
    public bool Active;
    public int Health;

    public int Width()
    {
        get { return PlayerTexture.Width; }
    }

    public int Height()
    {
        get { return PlayerTexture.Height; }
    }

    public void Initialise(Texture2D texture, Vector2 position)
    {
        PlayerTexture = texture;
        Position = position;
        Active = true;
        Health = 100;
    }

    public void Update()
    {
    }

    public void Draw(SpriteBatch spriteBatch)
    {
        spriteBatch.Draw(PlayerTexture, Position, null, Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f);
    }
}
}
4

1 に答える 1

18

これは有効なプロパティ宣言ではありません:

public int Width()
{
    get { return PlayerTexture.Width; }
}

()部分が正しくありません - プロパティではなくメソッドを宣言しようとしているようです。あなたが持っている必要があります:

public int Width
{
    get { return PlayerTexture.Width; }
}

(他はチェックしていませんが、それがすべて間違っている可能性があります。)

于 2013-03-05T04:37:37.400 に答える