前提・実現したいこと
初めまして。
プログラミングを勉強し始めて、まだ1ヶ月ちょいですがswiftを使って
インベーダーゲームのようなゲームを作成しようと試みています。
つまずいている箇所が
enemy1とenemy2で別のカテゴリビットマスクを割り当てたいので
enemy1とenemy2を別々のSKSpriteNodeにして
ランダムに上から降りてくる仕様にしたいのですが
同時に降りて来てしまいます。
何が誤っているかご教示ください。
よろしくお願いします。
該当のソースコード
func moveEnemy() {
let enemy1 = SKSpriteNode(imageNamed: "enemy1") let enemy2 = SKSpriteNode(imageNamed: "enemy2") //enemy1のサイズを設定する enemy1.scale(to: enemySize) //enemy1のx方向の位置を生成する let xPos1 = (frame.width / CGFloat.random(in: 1...5)) - frame.width / 2 //enemy1の位置を設定する enemy1.position = CGPoint(x: xPos1, y: frame.height / 2) //シーンにenemy1を表示する addChild(enemy1) //enemy2のサイズを設定する enemy2.scale(to: enemySize) //enemy2のx方向の位置を生成する let xPos2 = (frame.width / CGFloat.random(in: 1...5)) - frame.width / 2 //enemy1の位置を設定する enemy2.position = CGPoint(x: xPos2, y: frame.height / 2) //シーンにenemy1を表示する addChild(enemy2) //指定した位置まで1.5秒で移動させる let move = SKAction.moveTo(y: -frame.height / 2, duration: 1.5) //親からノードを削除する let remove = SKAction.removeFromParent() //アクションを連続して実行する enemy1.run(SKAction.sequence([move, remove])) //アクションを連続して実行する enemy2.run(SKAction.sequence([move, remove]))
swift
試したこと
enemy1とenemy2をenemysにまとめた変数にして
enemys[Int(arc4random_uniform(UInt32(array.count)))]
のような型にしたりしましたが上手くいきませんでした。
補足情報(FW/ツールのバージョンなど)
XcodeのバージョンはVersion 11.4.1 です。
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。