gpt4 book ai didi

iphone - 敌人随机生成

转载 作者:行者123 更新时间:2023-11-29 04:15:35 27 4
gpt4 key购买 nike

我有一个使用摄像机 View 的游戏,并且敌人在屏幕上飞来飞去。然后你用你选择的武器射击敌人。目前我有 4 个 UIImageView,其中的敌人是动画的。我希望屏幕上有每个敌人的多个实例(有 4 个),并且随着时间的推移会产生更多实例。执行此操作的最佳方法是什么?

这是使用陀螺仪移动一个敌人的代码的一部分:(enemyCyborg 是 UIImageView)

valueX4 = gyroData.rotationRate.y* 30;
valueY4 = gyroData.rotationRate.x* 40;

int newX4 = (int)(enemyCyborg.center.x +valueY4);
int newY4 = (int)(enemyCyborg.center.y -valueX4);

CGPoint newCenter4 = CGPointMake(newX4, newY4);

enemyCyborg.center = newCenter4;

它们在其中随机移动:

- (void) moveCyborg {

[UIView animateWithDuration:1.0f animations:^{
int fromNumber = -30;
int toNumber = 60;
int randomNumber = (arc4random()%(toNumber-fromNumber))+fromNumber;
//Move the image view to 100, 100 over 10 seconds.
enemyCyborg.frame = CGRectMake((int)(enemyCyborg.center.x -randomNumber), (int)(enemyCyborg.center.y -randomNumber), enemyCyborg.frame.size.width, enemyCyborg.frame.size.height);
}];
}

在 UIImageView 被隐藏而无法拍摄后,它会再次显示:

- (void) showCyborg {

enemyCyborg.hidden = NO;
enemyCyborg.center = CGPointMake((arc4random()%SCREEN_HEIGHT),(arc4random()%SCREEN_WIDTH));
enemyCyborg.animationImages = cyborganim;
enemyCyborg.animationDuration = 0.6;
enemyCyborg.animationRepeatCount = 0;
[enemyCyborg startAnimating];

}

最佳答案

您需要创建封装敌人模型的对象,并使用某种敌人生成器函数生成这些对象。该生成器函数可以编写为类函数。

以下是一些一般性建议:

1) 您正在使用基于 block 的动画方法。 block 是一种很好的方法,但根据您的表现以及敌人的数量以及您计划添加的其他视觉元素,您可能需要考虑使用 Cocos2d它为您提供了各种功能。 Ray Wenderlich 发布了一篇很棒的 cocos2d 入门教程,可以让您快速上手并运行。链接到here 。许多 iPhone 游戏都是使用 cocos2d 或 Unity 编写的。

2) 签到https://gamedev.stackexchange.com/如果您还没有这样做,请查看更多基本示例。

关于iphone - 敌人随机生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13772768/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com