SpriteBuilderのチュートリアルでサンプルゲームがありますがそれを元に学習をしてみた感想と制作時のトラブル解決を述べておきます。
学習に関しては、凄く丁寧に解説されているページがありますのでそれを元に制作しました。下記のリンク先を参照願います。
大まかな流れは
1.SpriteBuilderのプロジェクトを作成する。
2.新しいシーンを作成する。
3.アイテムの配置。
4.アイテムに動きを付ける。
5.シーンを挿入する。
6.Xcodeにコードを入力する。
SpriteBuilderのチュートリアルでなんちゃらバードらしきものを作ろう#1
SpriteBuilderのチュートリアルでなんちゃらバードらしきものを作ろう#2
SpriteBuilderのチュートリアルでなんちゃらバードらしきものを作ろう#3
SpriteBuilderのチュートリアルでなんちゃらバードらしきものを作ろう#4
公式サイトのLearnの項目にはクイックスタートということで「6分でゲーム作りを学べます!」と書いてありますがやはりもう少し時間が掛かりました。でも思ったよりは簡単に制作出来ますね。それもチュートリアルのお陰です。
2点ほど気が付いたことを上げておきます。
1.制作時、小まめにSave(保存)をされておいた方が良いです。Level.ccbのゲームのシーンを挿入する時に画面に画像が反映しなかったのでSaveしたら画面が表示されました。チュートリアルには記載されていないので注意してください。
2.ブロックを崩す大砲からバード(玉)が出てこなかったので原因を調べたら
タイムラインの順番が間違っていた(私が間違った 笑)のでバード(玉)が出てきませんでした。
CCPhysicsNode(パーツ)がCCButtonの下ただと玉が出てこないエラーになります。これが順番です。
CCNode
background
CCPhysicsNode
launcher
CCButton
後はスムーズに動作しています。これで大体の操作等のイメージは掴めますので試してみることをお薦めします。
GitHub FlyingFeather_Objective-C
Swift版のソースコードです。
参考にさせていただいたページに掲載されていました。
import UIKit
class Level: CCNode {
var _launcher : CCNode!
var _physicsNode : CCPhysicsNode!
func launchBird(sender: AnyObject){
// Calculate the rotation in radians
var rotationRadians = CGFloat(CC_DEGREES_TO_RADIANS(_launcher.rotation))
// Vector for the rotation
var directionVector = ccp(sin(rotationRadians), cos(rotationRadians))
var ballOffset = ccpMult(directionVector, 50)
// Load a ball and set its initial position
var ball = CCBReader.load("Bird")
ball.position = ccpAdd(self._launcher.position, ballOffset)
// Add the ball to physics node
self._physicsNode.addChild(ball)
// make an implulse and apply its
var force = ccpMult(directionVector, 50000)
ball.physicsBody.applyForce(force)
}
}
▫️参考にしたページ
コメントをお書きください