ダーヤス.com プレミアム

ダーヤス.comにようこそ。プレミアムな情報で、ワークライフバランスの充実を図りませんか。

【Swift】iPhoneドット避けゲームをxcodeで開発。あとビル・エヴァンスの言葉とか。

      2015/11/16

swift,ドット避け

swift,ドットよけ

iPhone用アプリのNekoChainがApp Storeに並んでました。
まあぷよぷよを劣化させてただ単に連鎖の多さを狙うだけのゲームですが。
最近は土日含めて審査に入るまでに申請してから7日はかかっていたと思うのですが、今回は月曜に申請して土曜の早朝に審査段階に入ってすぐに合格してました。
申請するタイミングとアメリカの休日との兼ね合いで、ちょっと前後するのだろうか。
そうすると、早く審査に入ってもらいたい人は月曜に申請するといろいろいいのかもしれませんね。
まあたまたまだと思いますが。

ところで、思いつきでドット避けゲームを作りました。
中学の時にクラスに一個古いパソコンがあって、休み時間になるとクラスメートがフロッピーディスクを持って毎日自作のドット避けゲームを改良していて、自分もそれを試したりしていた記憶がふと蘇り、じゃあiphoneアプリで作ってみるかと。

とりあえず当時自分がやらせてもらってた内容と異らせたのは、ステージが進むにつれてドットをランダムウォークっぽく動かしたところです。
あと、iPhoneアプリなので、ボタン作らずに画面タップで線の方向転換をするようにしました。

あと、図形の描画にはUIBezierPath()を作ってさらにそれをビューに乗せる、という方法が必要なのですが、
自分、ステージが変わったりゲームオーバになるたびに一旦画面上のドットを取り除く際に、ビューだけ削除すればいいのかと思っててうまくいかなかった。
ビューをremoveしてもUIBezierPath()で描いた線は画面上に残ったままなんですね。

UIBezierPath()の変数bezierPathにつき、bezierPath.removeAllPoints()を書いてやってbezierPathを消すとかやらないとダメなんだ。
これだけでも済むのかもしれませんが、ちゃんとdrawView.removeFromSuperview()(drawViewは描画を乗せたビュー)で一応ビューごと削除する処理を入れておきました。
あとは、tagで一個一個ドットを作って、毎回のタイミングで線の現在座標とドットとの座標比較をして、重なってたらぶつかったことにしているだけです。

とりあえず作っちゃったのでまたアプリ申請しています。

あまり関係ないですが、次は画像処理系のことをSwiftでやってみたいと考えています。
撮った画像を一旦RGBに落とし込んでちょっと数値弄って、間違い探しみたいのできないかなと思索中なので、まあ今月中に何かできそうですね。

全然関係ないですが、深夜に聞いてたj-Waveのラジオ「V.I.P.」で SOIL & "PIMP" SESSIONSの社長さんがかける女性が作った縛りのジャズの曲が超よかったのですが、その最中でリスナーからの投稿で痺れるものがありまして、まあエヴァンスの言葉を引用したものなのですが、さいきんテロとか殺人とか国内外問わずに怖いニュースが多すぎて、自分が子育てしていることも相まって、どうにか平和な世界にならないかと考えていたところだったので、心に残りました。
忘れないようにエヴァンスの言葉だけメモしておこうと思いましてネット上探してたら以下の優良なブログを見つけたので引用してメモさせていただきます。

ビル・エヴァンス、ジャズを語るより。

無意識に出来るようになるまで基本をやりつづける、
 出来るようになったら別の基本をの繰り返し。
 それができなくては何もできないのと同じ。
 雑で無個性な演奏になってしまう。コントロール、判断も出来ない」

「いろいろなものに手を出すと、結局全てが見えなくなる。
 自分は世界平和や人類のために人間として何ができるかなんて考えて、
 全てを背負ったら倒れてしまう。
 だから選ぶのさ。力を発揮できる分野を選び、そこで全力を尽くせばいい」

 - アプリ開発