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

ホーリーのプログラミング日記

プログラミング初級者。歴1年。ポンコツアプリを量産しています。

【自作アプリ第四弾】パワハラ上司をどつき回せ

自作アプリ

 

自作アプリ第四弾の話なんですが、ここからはSpriteKitを使って、ゲームばかり作ることになります。XcodeにあるGameテンプレートのやつですね。

んで、2冊ほどゲームアプリの教科書を買ったんですが、とりあえずそれらを端からパクっていこうって決めて、それで最初に作ったのが今回のアプリですね。パワハラ上司をどつき回せ。

これはiPhoneのゲームアプリをつくろうって本にある、モグラ叩きをそのままパクリました。

 

 

教科書を改良した点

教科書だと、モグラがずーっと出てきて、それを叩いて10点、みたいな感じなんですが、これを上司、社長、OLと3人のキャラが出てくるように変えました。

上司を叩くとプラス10点、社長と叩くとマイナス30点、OLを叩くとプラス50点、ていう設定です。

 

大変だったところ

実は3つのキャラを出すのに、一瞬苦労しました。まあ2時間とかそのくらいだったんで、別に苦労でもないんですけど、丸パクリで楽勝じゃー!!って思ってただけにショックでしたw

モグラだけを表示する場合は、フォーエバーなんとかってやつで、ずーっと出しておけばいいんですけど、これキャラを増やすとそうはいかないんですよね。

アクションを1ターンごとにして、それを秒数指定で繰り返すってコードにしました。モザイクアートクイズのモザイクを薄くしてくやつと同じですね。

 

func mogmog(){

 

       〜 省略 〜

  //targetは画像名の変数

        for i in 0...4{

            let random = Int(arc4random_uniform(20))

                if(random>0 && random<13){

                    target = "boss"

                }else if(random>=13 && random<18){

                    target = "ceo"

                }else{

                    target = "OL"

                }

   

   〜 省略 〜

                      

            let action1 = SKAction.moveToY(-1000, duration: 0.0)

            let action2 = SKAction.waitForDuration(1.0,withRange: 1.5)

            let action3 = SKAction.moveToY(hole.position.y, duration: 0.0)

            let action4 = SKAction.waitForDuration(1.0, withRange: 2.0)

            let action5 = SKAction.moveToY(-1000, duration: 0.0)

            let actionS =SKAction.sequence([action1,action2,action3,action4,action5])

            mog.runAction(actionS)

            

        }

    }

 

適当なんですが、こんな風に関数にしました。んで赤字2つを足した秒数で繰り返せばOK。

これはモグラが出てくるまでの最大秒数と、出ている間の最大秒数の合計ですね。

ランダムになってるんですが、最大はこの幅です。

 

timeLimit = NSTimer.scheduledTimerWithTimeInterval(3.5, target:self, selector: "mogmog", userInfo: nil, repeats: true)

 

 

それで3.5秒ごとに繰り返すと。そういう感じです。

ってごめんなさい。今改めてみたら、これ間違ってます。本当は3.75秒が正しいですね。

 

let action2 = SKAction.waitForDuration(1.0,withRange: 1.5)

 

これって1秒の前後幅1.5/2だから、 0.25~1.75ってことになり、最大値は1.75ですね。

だから2.0+1.75=3.75が正解です。

まあこの間違いがゲームにいい味を出してるって思って、とりあえずの修正は控えておきましょうw

 

こだわった点

相変わらずのクオリティながら一つだけこだわった点があります。

 

それはあれ。

 

 

叩いたときに声が出るんですけど、これは何度も撮り直して決めました。ちなみに友達の声です。

ズキューンっていうのは、ジョジョでディオがエリナの唇を奪ったときの音ですね。これ分かる人少ないでしょうけどw

 

全クリが半端なく難しい 

このゲーム、5ステージしかないんですが、それでも全クリが難しいです。

地味にダウンロードされてるんですが、全クリしてる人は2%しかいません。

まあその前に飽きてるのかもしれないですねw

 

最後に

えー、こんな感じでパワハラ上司をどつき回せってゲームを作ってみました。

これが初めてのゲームだったんで、色々と興奮した覚えがあります。

もしもダウンロードすることがあったら、音を出してみてください。

声だけ聞いてもらえれば、僕は満足です。