- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是新来的快速编程。我想使用类节点将敌人生成到随机位置。我试图搜索随机生成敌人的代码,但它似乎与我的代码无关。
这是我搜索随机生成的代码。
import SpriteKit
class GameScene: SKScene {
let player = SKSpriteNode(imageNamed:"spacemonkey_fly02")
override func didMoveToView(view: SKView) {
player.position = CGPoint(x:frame.size.width * 0.1, y: frame.size.height * 0.5)
addChild(player)
backgroundColor = SKColor.blackColor()
runAction(SKAction.repeatActionForever(
SKAction.sequence([
SKAction.runBlock(spawnEnemy),
SKAction.waitForDuration(1.0)])))
}
func random() -> CGFloat {
return CGFloat(Float(arc4random()) / 0xFFFFFFFF)
}
func random(#min: CGFloat, max: CGFloat) -> CGFloat {
return random() * (max - min) + min
}
func spawnEnemy() {
let enemy = SKSpriteNode(imageNamed: "boss_ship")
enemy.name = "enemy"
enemy.position = CGPoint(x: frame.size.width, y: frame.size.height * random(min: 0, max: 1))
addChild(enemy)
}
}
这是我制作的类,我想在我的游戏场景中随机生成
import SpriteKit
class Meteor: SKSpriteNode, GameSprite {
var textureAtlas:SKTextureAtlas = SKTextureAtlas(named:"meteor.atlas")
var meteorAnimation = SKAction()
func spawn(parentNode: SKNode, position: CGPoint, size: CGSize = CGSize(width: 30, height: 30)) {
parentNode.addChild(self)
meteorRotation()
self.size = size
self.position = position
self.texture = textureAtlas.textureNamed("meteor-1.png")
self.physicsBody = SKPhysicsBody(texture: textureAtlas.textureNamed("meteor-1.png"), size: size)
self.physicsBody = SKPhysicsBody(circleOfRadius: size.width / 2)
self.physicsBody?.affectedByGravity = true
self.runAction(meteorAnimation)
}
func meteorRotation() {
let meteorCycle = SKAction.rotateByAngle(4, duration: 2);
meteorAnimation = SKAction.repeatActionForever(meteorCycle)
}
func onTap() {
//self.physicsBody?.affectedByGravity = false
self.physicsBody?.dynamic = false
self.physicsBody?.categoryBitMask = 0
let crashAnimation = SKAction.group([
SKAction.fadeAlphaTo(0, duration: 0.2),
SKAction.scaleTo(1.5, duration: 0.2),
SKAction.moveBy(CGVector(dx: 0, dy: 25), duration: 0.2)
])
let resetAfterCrashed = SKAction.runBlock {
self.position.y = 5000
self.alpha = 1
self.xScale = 1
self.yScale = 1
}
let crashSequence = SKAction.sequence([
crashAnimation,
resetAfterCrashed
])
self.runAction(crashSequence)
}
}
是否可以使用我搜索类节点的代码?
最佳答案
我试图修改您发现的随机生成代码以使用您的 meteor 类。我删除了所有不涉及 meteor 的行,所以你需要添加你发给我的世界、地球和领域代码。试一试,如果成功请告诉我:
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
backgroundColor = SKColor.blackColor()
runAction(SKAction.repeatActionForever(
SKAction.sequence([
SKAction.runBlock(spawnEnemy),
SKAction.waitForDuration(1.0)])))
}
func random() -> CGFloat {
return CGFloat(Float(arc4random()) / 0xFFFFFFFF)
}
func random(#min: CGFloat, max: CGFloat) -> CGFloat {
return random() * (max - min) + min
}
func spawnEnemy() {
let newMeteor = Meteor()
let meteorPosition = CGPoint(x: frame.size.width, y: frame.size.height * random(min: 0, max: 1))
newMeteor.spawn(world, meteorPosition)
}
}
关于swift - 我怎样才能在我的游戏场景中生成一个随机的(CLASS SPRITENODE)敌人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34166527/
好的,这就是我的错误:'Enemy' 未在此范围内声明。错误在 map.h 文件中,即使 map.h 包含 enemy.h,如图所示 #ifndef MAP_H_INCLUDED #define MA
这个问题已经有答案了: How to make enemy follow player in pygame? (2 个回答) Enemy doesn't follow player (pygame)
我试图让我的 Canvas 游戏中的 Sprite 不断向玩家移动,直到它发生碰撞。执行此操作的相关函数是 update() 函数: Enemy.prototype.update = function
我在无休止的运行游戏中遇到了麻烦,主要是我创建的两种敌人的产卵,当我们调用函数“startDifficultyTimer”时,有时会产生两个敌人。 基本上,当我调用该函数时,游戏会在同一行生成 2 个
从性能角度来看,什么是最正确的 - 敌人和武器之间的交互算法(这里的子弹可能更正确)? 每个 Sprite 的每一个子弹都应该通过“collidesWith”方法检查碰撞情况,并在完整的敌人列表上进行
遇到了一个问题,即敌人会向玩家开火,但似乎总是开到高处或向玩家的一侧,即使玩家是静止的并且没有移动。我是不是在我的代码中做错了什么导致了这个疯狂的问题,或者它只是一个随机的烦人的错误? 为播放器使用相
我是新来的快速编程。我想使用类节点将敌人生成到随机位置。我试图搜索随机生成敌人的代码,但它似乎与我的代码无关。 这是我搜索随机生成的代码。 import SpriteKit class GameSce
我最近遇到了一些问题,只是在我正在制作的游戏中传递对对象/敌人的引用,我想知道我是否使用了错误的方法。 我的主要问题是处理敌人和物体,而其他敌人或玩家可能仍然与它们有联系。 例如,如果你有一只兔子和一
在我的 2d 游戏中,我有一个金币和铜币的概念如下: when normal enemies die ..they drop a random gold or copper coin. Now whe
我是新来的,所以我希望你能帮助我。 我正在学习制作简单的 cocos2d 游戏的教程 Ray Wenderlich's Tutorial 我在另一个游戏中实现了它,一个像涂鸦跳跃这样的跳跃游戏。 在上
我是一名优秀的程序员,十分优秀!