初心者のSWIFTアプリ開発記 ©たぬきち

肥満気味になってきたので筋トレに励んでいます! プログラミング頑張ります

プレステのVRが楽しみでしょうがない

プレステ4すら持っていないけどね。。。

バーチャルリアルのゲームが普及するのなんてまだまだ先だと思っていたのにもう今年発売なんてどうしよう。

このままじゃのんきにゲームする余裕なんてないわ!

またゲームとして遊ぶだけでなくてunityとかなら開発もできるんですね!?(´・_・`)

アンドロイドのこともあるしunityをやるべきだったか・・・・

iphone-mania.jp

でもこんな記事もあることだしいつかアップルからもでるだろうしね!?そしてその時にはswiftでやっていてよかったと思えるようね・・・まぁ現在はspritekitとか少しわかってきた程度だからあんまり関係ないんだけども。

アンドロイドもそろそろやろうかな・・・

最近unityを勉強しようかswiftjavaでやろうか考えていたんだけど、やっぱりswiftjavaでいいですかね。ゲーム以外も一応作りたい願望はあるのだし

swiftやる前に2ヶ月だけjavaでアンドロイドアプリ(ゴミ屑アプリ)を作ったしねぇ・・・いまならゴミアプリくらいならなんとかなるっしょ😒

ただ中古で買った一番安いデバイスしかないからサイズの調整とかめんどくさそう・・・macに色々インストールするのもなんか嫌だな・・・

【swift勉強】おすすめチュートリアル

基本がわかる

www.raywenderlich.com

www.raywenderlich.com

シングルトンなんて言葉は何回か聞いてきましたがまぁ放置。。。ですが上のチュートリアルで出てきたのでついに調べたらわかったようなわからなかったような・・・まぁあっちでもこっちでもインスタンス化するとわけわかんないからそういうの防ぐ的なやつなのかね!?🐶

復讐・・・復習は大事

パズルゲームチュートリアルと比べると基本的なことが多く、内容も大体理解できてきたことが多かったのですんなりできた。なんか一度簡単なチュートリアルをやるのも自分の理解度が確認できたり、足りていない箇所を少しずつ補えるのでいいですね・・・まぁそんなのんきなこと言える状況でもないんですが♪(´ε` )

【swiftアプリ開発】AVAudioPlayerで効果音を発生させるとラグい!

SKAction.playSoundFileNamed("neko", waitForCompletion: false)

これだと簡単だし、事前に読み込んでおけばラグもないのでいいんだけども音量調整ができないのが辛い。

stackoverflow.com

let qualityOfServiceClass = QOS_CLASS_BACKGROUND
let backgroundQueue = dispatch_get_global_queue(qualityOfServiceClass, 0)
dispatch_async(backgroundQueue, {
    audioPlayer.play()
})

こんなの試してみたら確かに改善している!。けど若干遅れているような遅れていないような・・・でもやらないよりは全然いい!

ただ最近このdispatchなんちゃらもなれてきたっちゃ慣れてきたんだけど、メモリリークのトラウマがあるのでなんか怖いんだよね。意味もわからず使ってるし。ちょっと調べたけどなんか見る気なくしてダメだった。

【swiftアプリ開発】メモリリークの原因を特定できない

腹筋ローラー

腹筋🙅 腹筋ローラー🙆

気軽にできるし効果あるしいいね。全然できないけど

遷移

InitialViewController → GameViewController → InitialViewController・・・

となんどもやると落ちる。セグエは戻るときはunwindセグエだし他に原因が思い当たらない。とりあえずweakをつけてみたりしたけどダメ。いろいろ調べても原因分からないし、そもそももう提出する寸前だったので今更どこが原因が特定するなんてできないよぅ😢

なのでViewControllerを二つ使うのではなく、InitialSceneとGameSceneを一つのViewControllerで移動させる感じに直しました。正直storyboardでボタンの設置が楽だからviewControllerでタイトル画面を作っていただけでこだわりなんてなんもないしどっちがいいのかもわかんないし、むしろtransitionとかのエフェクトならspritekitの方が簡単だからそっちのほうがいいんだけどもね。まぁ画面設計はめんどくさいけど・・・

まぁ今回は方法を変えてなんとかなったけど、正直問題解決には至っていないからなんだかすっきりしない。かといって悩んでいる間はまったく進歩がないしね。こまったもんだなo(`ω´ )o

【swiftアプリ開発】fontを事前に読み込んで遅延解消

遅延解消

let preloadFont: UIFont!

override func didMoveToView(view: SKView) {
    preloadFont = UIFont(name: "Courier", fontSize: 10)
}

func abc(){
    let myText = SKLabelNode(fontNamed: preloadFont.fontName)
}

長らく悩まされた遅延。やっとその一部が解消されました🐶

ただ以前にやったチュートリアルで、

SKLabelNode(fontNamed: "フォントの名前")

こんな感じで記述してあったんだけど、そのようにしても遅延は解消されなかった。

・・・だが!!!!

その時はフォントネームを"Bold"と指定していたんです。"フォントネーム-bold"じゃなくてただの"Bold"。そして今回直った方法でも"Bold"でやると、preloadFont.fontNameがnilとなるのでだめだった。なのでSKLabelNode(fontNamed:"Courier")と指定していたら直った!?のかもしれない(直った)。

なのでどっちのやり方でもいいのかね。どっちがいいとかわからんからとりあえず2パターンくらいしっていおいて損はない!!!

【swiftアプリ開発】自称パズルゲームが蓮コラ見たいなってしまった

パズルゲーム制作

swiftの勉強始めて1カ月くらいの頃にやったチュートリアル

www.raywenderlich.com

当時はわけわかんないままやってましたね。columnとかタイプしにくいし意味もあやふやで本当に理解できなかった。

そして最近そろそろパズルゲームが作りたいと思ってきたので再度同じチュートリアルをやることに(`ω´ )!

配列やらenumやら当時よりはもちろん理解できているけど、それでもやっぱり理解できない部分も・・・まぁそれもそのうちわかるだろうと思って、今は理解度を深めるのに時間を割くよりもアプリ提出を第一に考えますがな🌜

考えるのめんどくさいからシンプルか!

パズルゲームだけじゃなくて全てのものに対していえるけど、もうなんにしても世の中にはあるからね...新たなものを生み出すなんて無理だし、面白くおしゃれなのを作る能力もない。でもせっかくチュートリアルをやったのだからアレンジしてアプリとして出す!

そんな感じでシンプルな自称パズルとして色々いじっていたんだけど、なんか蓮コラみたいに見えて気持ち悪くなった

・・・もう二度とこんなアプリいじらんわ!!!!

f:id:egoisticYK:20160309010311p:plain