小编use*_*526的帖子

编程从当前速度矢量到目标矢量的推力的平滑变化

TL;博士:"我不知道如何计算一个矢量与另一个矢量之间的推力的平滑过渡."

我正在编写一个简单的游戏,敌人在开放空间(没有墙壁)追逐玩家.我正在独立计算敌人的x和y速度,如果他们将它们朝向玩家的方向加速它们,并且如果它们走错了路线就会迅速减速(例如EnemyVelocity.x> 0&player.x <enemy.x) ,然后是EnemyVelocity.x - 2.)

虽然游戏玩法试图躲避敌人是非常有趣的,但我希望让敌人使用适当的物理行为.我目前正在做的是让敌人根据他们和玩家之间的角度设置他们的推力(想象一艘宇宙飞船),让他们的推力加速到最大速度(计算EnemyVelocity三角形的c侧).一旦发生这种情况,我不确定推力调整的最佳方式.如果我没有留下最大速度,敌人加速很好,但很容易超过玩家,然后需要很长时间才能获得足够的动力回到玩家的方向.

我想要发生的是让敌人在前往玩家的路上不断调整他们的速度,无论他们身在何处(我不希望他们预测你将在哪里).然后,当他们错过了球员时,我想要相同的推力和加速度公式来重新调整他们的速度并将它们发送回玩家.

我认为这将涉及两个向量:一个是敌人目前正在旅行的地方,另一个是敌人想要旅行的地方(将他们直接带到玩家的向量).我不确定如何计算一个矢量与另一个矢量之间的推力的平滑过渡.

任何提示,公式或问题将不胜感激!谢谢Stack Overflow.

math physics vector angle linear-algebra

7
推荐指数
1
解决办法
3139
查看次数

Objective-C中的嵌套数组(NSMutableArray)

我正在尝试构建一个嵌套数组:首先,我创建一个"PlayerItems"数组,其中包含10个数组,每个数组包含项目对象,对应于游戏中每个玩家的库存.在指示的行上,我收到以下错误:

错误:void值不应该被忽略,因为它应该是

这里的空值是多少?如果我使用[[PlayerItems objectAtIndex:i] addObject:myitem],程序编译但崩溃.如果我评论该行,它编译并运行正常.谢谢您的帮助!

self.PlayerItems = [[NSMutableArray alloc] initWithCapacity:11];
NSMutableArray *itemarray = [[NSMutableArray alloc] initWithCapacity:60];
item *myitem = [[item alloc] init];
item.kind = 1;
for (int i = 1; i < 10; i++) {
    itemarray = [[NSMutableArray alloc] initWithCapacity:60];
    [PlayerItems addObject:itemarray];
    for (int i2 = 1; i2 < 50; i2++) {
        myitem = [[item alloc] init];
        myitem.kind = 1;
        // The error occurs on the line below:
        ((NSMutableArray *) [[PlayerItems objectAtIndex:i] addObject:myitem]);
    }
}
Run Code Online (Sandbox Code Playgroud)

arrays cocoa nested objective-c nsmutablearray

3
推荐指数
2
解决办法
1万
查看次数