所以我制作了這個基本的 2D 游戲,并希望敵人向我走來。我是位置部分的新手,只是從另一個帖子中獲取了我的移動代碼,但不知道如何讓它向我移動。
private void EnemyAttack_Tick(object sender, EventArgs e)
{
Enemy.Location = new Point(Enemy.Location.X Player.Location.X, Enemy.Location.Y Player.Location.Y);
}
如果有人可以向我展示或鏈接一個帖子,解釋我如何做到這一點,那就太好了。
uj5u.com熱心網友回復:
我要猜測這里發生了什么。既然你給出了這樣一個 tinu 代碼片段。我假設這個
| 100
|
| enemy(40,50)
|
|
|
y|
|
| me(10,10)
|______________________________________
0,0 x 100
你是戰場嗎?你想讓敵人向“我”移動一點嗎? - 你不想一下子全部搞定,因為這是一個計時器滴答聲。
所以讓我們為每個刻度移動 10%
enemy new x coord = en old xcoord - ((en old xcoord - my x coord) / 10)
enemy new y coord = en old ycoord - ((en old ycoord - my y coord) / 10)
在代碼中
var newx = Enemy.Location.X - ((Enemy.Location.X - Player.Location.X)/10);
var newy = Enemy.Location.Y - ((Enemy.Location.Y - Player.Location.Y)/10);
Enemy.Location = new Point(newx, newy);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/455806.html
