Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift ゲーム開発(SpriteKit)入門 #4】物理エンジンでSprite(ゲーム中キャラや物体など)を落下させる

物理エンジンでSprite(ゲーム中キャラや物体など)を落下させるには?

2つのことをやる。
1. シーンに物理エンジンの設定をする
2. ゲームキャラや物体が物理エンジンの影響をうけるように設定する

■実装
こちらからサンプルプロジェクトをダウンロード。
SampleBallFall_Start.zip - Google ドライブ

↓から続けて読んでくれている方は不要。swift.swift-studying.com

GameScene.swiftを開き、下記のように編集する。
追加した行に「追加」とつけています。

import SpriteKit

class GameScene: SKScene {
    override func didMoveToView(view: SKView) {
        // 1.シーンに物理エンジンの設定をする
        physicsWorld.gravity = CGVector(dx: 0.0, dy: -1.0)  //追加  dyを-1.0。下方向に落ちるように重力を設定

        // 物体の表示
        let texture = SKTexture(imageNamed: "green")  // 画像の読み出し
        let sprite = SKSpriteNode(texture: texture)  // Spriteの作成
        sprite.position = CGPoint(x: size.width * 0.5, y: size.height - sprite.size.height * 0.5)  // 初期位置のセット
        sprite.physicsBody = SKPhysicsBody(texture: texture, size: texture.size())  //追加 2.ゲームキャラや物体が物理エンジンの影響をうけるように設定する

        // シーンに追加
        addChild(sprite)
    }
}


■実行
下記画像のように緑の円が落下します。
f:id:fjswkun:20150801130343p:plain

f:id:fjswkun:20150801130352p:plain

うまく行かなかった人はコチラから完成版サンプルプロジェクトをダウンロード。
SampleBallFall_Complete.zip - Google ドライブ


■おわりに
次は、落下していくスプライトが画面下で止まるようにしたい。

【参考情報】
ここに書いている内容をもう少し詳しく知りたい方はコチラ。

SpriteKitではじめる2Dゲームプログラミング Swift対応


英語を読むことに自身があればコチラ?

iOS Swift Game Development Cookbook: Simple Solutions for Game Development Problems


iOSアプリ開発未経験の人向け
iOSアプリ開発をはじめたとき最初に買った書籍
【アプリ作成未経験の人向け】
Storyboardを使って画面を作成していく。
手順にしたがって操作していくと、ボタンの作成やWebViewの作成などができる。
アプリって、こんな感じで作るんだというのを体験できる。

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾

③中級者、上級者向け

詳解 Swift

詳解 Swift