XNA-一个简单的平台游戏-拾取

XNA-一个简单的平台游戏-拾取,xna,Xna,我正在做一个简单的platformer游戏,想知道如何“拿起”一个精灵并让它结束游戏。我在任何地方都找不到任何资源,我唯一能找到的就是使用XNA platformer初学者工具包。。。一些我正在积极避免的事情。因此,基本的想法是玩家拿起一个苹果——如果是有毒的,则提示输屏;如果是金色的,则提示赢屏。我假设你的角色有一个碰撞框。只需创建一个名为拾取的对象类,然后将这些对象添加到您的环境中。使这些对象也有一个碰撞框,以便玩家可以检测到他正在触摸它们,并在玩家拾取对象时(通过简单触摸或触摸+输入)要调

我正在做一个简单的platformer游戏,想知道如何“拿起”一个精灵并让它结束游戏。我在任何地方都找不到任何资源,我唯一能找到的就是使用XNA platformer初学者工具包。。。一些我正在积极避免的事情。因此,基本的想法是玩家拿起一个苹果——如果是有毒的,则提示输屏;如果是金色的,则提示赢屏。

我假设你的角色有一个
碰撞框。只需创建一个名为
拾取
的对象类,然后将这些对象添加到您的环境中。使这些对象也有一个
碰撞框
,以便玩家可以检测到他正在触摸它们,并在玩家拾取对象时(通过简单触摸或触摸+输入)要调用的对象上添加一个
OnPickup
方法。将您的
拾音器
专门用于各种拾音器,以产生预期的行为(如
模具
+x黄金
)。

您可以对照项目的
向量2
位置检查播放器的
向量2
位置,看看它们之间的差异是否小于30像素:

if (Vector2.Distance(player.position, item.position) < 30)
{
    // player is close enough to an item to pick it up
}
if(矢量2.距离(玩家位置、物品位置)<30)
{
//玩家离物品足够近,可以捡起物品
}
您还可以像这样对照光标位置进行检查