本記事ではノードの接触検知について説明する。 ビームで障害物を破壊したり、キャラクターを動かしてアイテムを取ったりなど、ノードが別のノードに接触したことを検知して処理したいことがある。そんなときはSKPhysicsContactDelegateを利用する。 実際にやってみよう。 以降の手順を行う前のXcodeプロジェクトをGitHubに置いたので、試してみる方はご利用下さい。 ⇒「テスト用プロジェクト」 3匹の鳥ノードを配置し、茶鳥をドラッグで移動できるようにしておいた。この段階では接触は検知されない。 まず、TestScene.swiftを以下のコードに変更する(変更箇所は青色網掛け)。SKPhysicsContactDelegateプロトコルを適用、デリゲート先を自分に設定している。 茶鳥ノードのcontactTestBitMaskプロパティ(以下、接触マスク)に赤鳥のカテゴリマスクを
現在のXcode(本記事執筆時点:Version 11.3)では、昔作成した記事の時代と比べてSpriteKitのテンプレートの中身が大きく変わっており、SpriteKit Sceneファイル(以下SKSと表記)を用いて、まるでStoryboardのように様々なノードをシーン上にマウスで配置出来るようになったようです。 もちろん昔のように、SKSを用いずに全てコードだけでSpriteKitを扱うことも出来るようですが(こちらのサイトが非常に参考になります)、SKSは便利そうなので今後は使い方を学習し、またSpriteKitを活用したアプリを作成してみたいと考えています。 しかしその上で、現状ではiPhoneだけでも8から11 Pro Maxまで様々な機種が現役であり、もちろんiPadもありますので、サイズどころかアスペクト比まで異なるそれぞれの機種の画面において、SpriteKitのシーン
WWDC 2016 introduced a whole new batch of goodies. One of the best is the SpriteKit Tile Editor. It’s a blast to use, and you can get your backgrounds up and running and looking great really fast. In this tutorial you’ll learn all about tiles – how to import them and paint them in the new Tile Editor. In the new game Rubber Duckie Rescue that’s sure to be a smash-hit, you’ll rescue some rubber duc
iOS 10 から、SpriteKit でタイルを敷きつめて画面をつくることができる SKTileMapNode というものが使えるようになったので、ちょっとさわってみようと思います。 ゲームプロジェクトを作る まず、サンプル動作確認用の Game プロジェクトを作成します。 「Game Technology」のところは SpriteKit を選択します。 あとは画面の指示にしたがって、プロジェクトを作成してください。 タイルセットファイルを作る 次にタイルマップで使用するタイル素材をプロジェクトに追加します。 Assets.xcassetsフォルダに使用する素材を追加してください。 今回は、 白と薄いグレーと濃いグレーの3種類の画像を追加しました。 次に、タイルセットファイルを作成します。 New File... から SpriteKit Tile Set を選び、タイルセット用のsks
import SpriteKit class GameScene: SKScene, SKPhysicsContactDelegate { override func didMoveToView(view: SKView) { self.physicsWorld.gravity = CGVectorMake(0.0, -1.0) self.size = view.bounds.size self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame) // 赤い正方形の設定。 let redSquare = SKSpriteNode(color: UIColor.redColor(), size: CGSizeMake(50, 50)) redSquare.position = CGPoint( x: CGRectGetMidX(
Physics Definitionとは 過去の記事でSKSpriteNode(以下、ノード)のアトリビュートインスペクタの設定項目について説明した。本記事はその続きの「Physics Definition」について説明する。⇒「前回の設定記事」 Physics Definitionとは、物理エンジンを使ってノードに加速度や衝突を発生させる場合の設定項目である。⇒「物理エンジンとは」 以降の手順を行う前のXcodeプロジェクトをGitHubに置いたので、試してみる方はご利用下さい。 ⇒「テスト用プロジェクト」 背景と鳥2匹のノードをシーンに追加して、ノードをタップすると重力の影響を受けて落下するものを実装しておいた。 Body Type 物理ボディの境界線を「None」、「Bounding rectangle」、「Bounding circle」、「Alpha mask」から選択する。 「
概要 本記事内では SpriteKit を使って開発した ゲームアプリの経験から感じた Tips やノウハウを紹介しようと思います チュートリアル的な SpriteKit の使い方は紹介しません 内容は実際に審査も行い公開されたアプリを元にしていますが個人的な見解も含まれるのでご了承ください (公開しているアプリについては後述の「作品紹介」を御覧ください」) SpriteKit とは 簡単に言えば iOS 上で 2D ゲームを作成するためのフレームワークです 作れるゲームのイメージとしてはブロック崩しやインベーダゲームのような縦方向のシューティングゲームや FlappyBird のような横スクロールゲームが開発できます 基本はシーン (SKScene) 上に敵やキャラクタなどのノード (SKSpriteNode) を配置して開発します UIKit で使われる Storyboard のように
SpriteKitをつかってアニメーションをほいほいしたので、色々まとめ。 9.5割くらいSKActionのまとめです。 Swiftです。 SpriteKitではSKActionをつくって、それらをつなげたり同時につかったりすることでアニメーションをつくっていく感じでした。 ##ライブラリについて SKActionはtimingModeというプロパティでEaseIn/Outなどが設定できるが、 細かいEasingは指定できないので、SpriteKitEasingSwiftというライブラリを使用した。 Objective-Cのこちらのライブラリが元になっているのでObjective-Cのかたはそちらをどうぞ ##アニメーションつなげる //SpriteKitEasingSwiftを使用したフェードイン let fadeIn = SKEase.fade(easeFunction: .Curve
このようにcategoryBitMaskとcollisionBitMaskをそれぞれのノードに設定し、動かして衝突させた場合このような感じです。 ANodeから衝突しに行っても、LightNodeのcollisionBitMaskは**「0100」の世界のノードからしか衝突しないことになっているためLightNodeは動きません。 また、ANodeのcollisionBitMaskは「0010」**の世界のノードと衝突することになっているため、LightNodeから衝突されるとANodeは動きます。 contactTestBitMask contactTestBitMaskとは**衝突相手のcategoryBitMask値を指定しておくことで衝突を検知できる「設定の値」**と理解してみました。 SKPhysicsContactDelegateでノード同士が衝突したことを検知できる仕組みがあ
SpriteKit とは Apple が提供している2Dのゲームを作るためのフレームワークです アニメーションや物理シミュレーションを使ったゲームが簡単に実装できます この他にも本格的なゲーム開発では以下のようなフレームワークが使われるようです Cocos2d-x Unity Unreal Engine SpriteKit は学習コストが低くとりあえずシンプルなゲームを作るには十分な機能を備えています TL;DR 画面に遷移した時は didMove 、タップした時は touchDown が呼び出される .sks ファイルは .storyboard みたいなもの 表示要素は ノード と呼ばれる 物理演算は SKPhysicsBody 、アニメーションなどの動きは SKAction がいい感じに処理してくれる SpriteKit を利用したゲームの作り方 Xcode のプロジェクトを作る Xc
For more than 20 years, people have played Collectible Card Games (CCGs). The Wikipedia entry gives a fairly thorough recount of how these games evolved, which seems were inspired by role playing games like Dungeons and Dragons; Magic the Gathering is one example of a modern CCG. At their core, CCGs are a set of custom cards representing characters, locations, abilities, events, etc. To play the g
はじめに こんにちは。 つい先日、Apple純正のゲーム開発フレームワークである「SpriteKit」を使ったゲームアプリをリリースしました。 「Bumping Ball+」というタップ操作のみで簡単に遊べる、シューティングゲームです。 SpriteKitの動きや操作感などが気になる方は気楽に遊んでみてください。 ダウンロードはこちら 背景 私はSwiftで書きたかったということと物理演算を使いたかったという2つの理由で、Spritekitを採用しました。ゲームアプリであればcocos2d-xやUnityなどが有名ではありますが、簡易的に物理演算を使いたかったということと学習コストの低さを優先して、今回これらは採用しませんでした。 より本格的なゲームを作りたい方やC++が得意な方はSpritekitをわざわざ採用する理由は少ないかもしれません。unityなどはAndroidでもビルドできま
はじめに みなさん、スマフォのゲームは好きですか? 僕は、 片手で操作できる 画面は縦向き 2D 短時間でプレイできる 音なしでも楽しめる 側近的な奴がスタミナとかガチャとか言い出さない ような、電車やトイレでサクッと遊べるゲームが好きです。 今日は、そんなお手軽ゲームの代表的存在ブロック崩しをSprite Kitで作ってみます。 こちらが完成イメージです。 Sprite Kitとは Sprite Kitとは、iOS・Mac OS X向けの2Dゲームを作るための、Apple純正フレームワークです。 メリット OS標準機能 UIKit・AppKitと連携しやすい 物理演算やパーティクルが簡単 デメリット iOS 7, Max OS X 10.9以降が必要 Android対応不可(Cocos2d-xで作りましょう) 3D未対応(Unityで作りましょう) 機能不足(結局Kobold Kitなど
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く