これは、次を含む変数を取得するために使用しているコードですscreenHeight
。
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
Ball pall;
MinuPad playerPad;
public int screenWidth;
public int screenHeight;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
protected override void Initialize()
{
screenWidth = GraphicsDevice.Viewport.Width;
screenHeight = GraphicsDevice.Viewport.Height;
しかし、異なるクラスで変数を使用することはできません。たとえば、 とBall.cs
に関する情報も使用する必要があるというクラスがscreenWidth
ありscreenHeight
ます。
同じものを使用しようとすると、次のようGraphicsDevice.Viewport.Width
になります。
An object reference is required for the non-static field, method, or property
'Microsoft.Xna.Framework.Graphics.GraphicsDevice.Viewport.get'
私の質問:GraphicsDevice.Viewport
他のクラスで使用できないのはなぜですか? 問題を解決するにはどうすればよいですか?