読者です 読者をやめる 読者になる 読者になる

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

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

【iOS Swift ゲーム開発(SpriteKit)入門 #5】落下していくゲーム中キャラや物体などを画面下で止める

落下していくゲーム中キャラや物体などを画面下で止める。

画面の一番下に見えない物体を配置する。
そうすると、落下していくゲーム中キャラや物体と
見えない物体がぶつかり、止まるのだ。

見えない物体はSKShapeNodeクラスを使って作成する。
今まで物体は画像を読み込んで作成していたが、SKShapeNodeを使うことで、物体をプログラミングで描けるものと思っていれば今のとこは問題ない。

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


↓の記事から引き続き読んでいただいている場合は必要ない。swift.swift-studying.com

用意できたら、GameScene.swiftを開く。
「追加」と書いている部分を見て、書いていく。

import SpriteKit

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

        //追加 画面一番下(画面外)に見えない物体を配置
        let bottom = SKShapeNode(rectOfSize: CGSize(width: size.width, height: 1.0))
        bottom.position = CGPoint(x: size.width * 0.5, y: -bottom.frame.size.height)

        //追加 物理設定
        let physicsBody = SKPhysicsBody(rectangleOfSize: bottom.frame.size)
        physicsBody.dynamic = false  // 重力により移動しなくする→位置を固定する
        physicsBody.contactTestBitMask = 0x1  // 物体が触れたり、重なったときに検知するおまじない
        bottom.physicsBody = physicsBody

        addChild(bottom)  //追加 シーンに物体を追加


        // 物体の表示
        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())  //ゲームキャラや物体が物理エンジンの影響をうけるように設定する
        sprite.physicsBody?.contactTestBitMask = 0x1  //追加 物体が触れたり、重なったときに検知するおまじない

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


■実行
書けたら実行しよう。
下記動画のとおりになるはず。

ならない方。
こちらから完成版サンプルプロジェクトをダウンロード。
SampleBallFall_Complete.zip - Google ドライブ


■おわりに
次はなにやるか決めてない。


なんか↓の本のタイトルすごいな。
プログラミングだけで生活できたらいいと思ってるので、気になる。
Kindleでサンプルだけでも読んでみる。

プログラミングバカ一代 (就職しないで生きるには21)

プログラミングバカ一代 (就職しないで生きるには21)


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

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