C# 从播放器对象创建参数
这似乎是一个愚蠢的问题,但在我的一个类中将参数传递到构造函数时遇到了问题。我创建的对象是一个玩家对象,我正在尝试获取它在我的敌人类中的位置。我之所以尝试这样做,是因为我希望我的敌人在屏幕上跟随玩家。我正在psm中使用c#创建此程序。非常需要任何援助 这是我的敌人阶级C# 从播放器对象创建参数,c#,C#,这似乎是一个愚蠢的问题,但在我的一个类中将参数传递到构造函数时遇到了问题。我创建的对象是一个玩家对象,我正在尝试获取它在我的敌人类中的位置。我之所以尝试这样做,是因为我希望我的敌人在屏幕上跟随玩家。我正在psm中使用c#创建此程序。非常需要任何援助 这是我的敌人阶级 public class SmartEnemy:Enemy { private Player player; private Vector3 vel, pos; private static Random g
public class SmartEnemy:Enemy
{
private Player player;
private Vector3 vel, pos;
private static Random gen= new Random();
public SmartEnemy (GraphicsContext g, Texture2D t, Vector3 p, float pwr, Player pop) : base(g,t,p,pwr)
{
pos = p;
player = pop;
vel = new Vector3 (0, 0, 0);
sprite.Rotation = 0;
sprite.Center.X = 0.5f;
sprite.Center.Y = 0.5f;
}
public override void Update()
{
Vector3 playerPos= player.Pos;
double angle=Math.Atan2(playerPos.Y-sprite.Position.Y,playerPos.X- sprite.Position.X);
Vector3 vel=new Vector3((float)Math.Cos(angle),(float)Math.Sin(angle),0);
sprite.Position+=vel;
}
public override void Render()
{
sprite.Render();
}
}
//
}
这是我在Appmain中创建敌人的代码
pieces.Add (new SmartEnemy(graphics, eTex, new Vector3(gen.Next (200,900), gen.Next (200,900),0),.5f));
Smartnemy构造函数需要一个Player对象,但您的代码中没有提供:
SmartEnemy(graphics, eTex, new Vector3(gen.Next (200,900), gen.Next (200,900),0),.5f));
创建播放器对象并发送:
Player p1 = new Player();
pieces.Add( new SmartEnemy(graphics, eTex, new Vector3(gen.Next (200,900), gen.Next (200,900),0),.5f, p1) );