2016-07-01から1ヶ月間の記事一覧
Sprite KitのSKViewのプロパティを調べてました。するとSprite Kitに関して素晴らしい日本語サイトが既にあります。少し古いリファレンスですが、APIに用意されているプロパティには未だに大きな変化は加えられていないので役に立ちます。spritekit.senchan-…
めちゃめちゃ悩んでいます(^^;)yataiblue.hatenablog.comSprite Kitチュートリアルの復習をしているのですが、GameViewControllerクラスのviewDidLoad()メソッド内にあるコードで疑問が生まれました... let skView = view as! SKView 「view」プロパティをSK…
今日も少しだけ下のリンクを整理しました。yataiblue.hatenablog.comほんの少しだけ、今日も一日忙しく夜もお仕事です。では明日。
今日も少しだけ下のリンクを生理しました。yataiblue.hatenablog.com夏も色々忙しいんです。今日もこれだけ。
なんでも亀です。これからSprite Kitチュートリアルの記事を改訂していきます。1日で調整はできません。yataiblue.hatenablog.com 今日も明日もこんなところ。これだけ。
昨日はflatMapの勉強になってませんでした。flatMapのリファレンスを調べると、タイプの違いによって宣言法が2つ用意されています。 flatMap(_:) - Sequence | Apple Developer Documentation flatMap(_:) - Sequence | Apple Developer Documentation Swift…
flatMapも何度も出てきているけど覚えてません。やっぱり復習が必要ですね。Collection Typeが持っているメソッドで、2重配列を単純配列に変更することができるのと、オプショナルをアンラップすることができます。全然時間が無いのでこれだけ。
コードを読んでちんぷんかんぷんなパートが多過ぎで先に進めなくなるのが、基礎力の無い初心者プログラマーの特徴でしょう。数日前から次のコードで悩んでいます。 weakSelf?.xLabel.text = "".appendingFormat("x %.4f", data!.acceleration.x) Stringが持…
CVarArgを調べると言って、リファレンスを見ても理解できません。プロトコールということで、1つの「型」になりますが、「C va_list」の要素として値を渡すという説明があります。これも初耳なので調べないといけません...「C言語 可変引数リスト」なんて言…
CoreMotionライブラリ利用の勉強をしているだけです。普通なら数時間が終わる内容を数週間かけて勉強しています。これほどゆっくりしたペースで勉強している人はいないでしょう。私のできる事は立ち止まらないだけです。ハンドラの話をしていたので、実際の…
CoreMotionの実装をしているところです。managerインスタンスを使って、測定間隔を設定してハンドラを起動させます。「ハンドラ(Handler)」って何なんでしょう? ハンドラという概念はプログラミング初心者に難しいかもしれません。ネットで調べればこんな文…
数日前に「CoreMotion」を勉強するぞ!なんて宣言していましたが、いまだにちゃんと取り組めていません。iOSの物理センサーを読み取るCoreMotionを使ってiOSデバイスの状態を読み取ってみたいんです。まずしなければならないのがCoreMotionライブラリの読み…
全くSwiftの勉強ができない状態です(^^;)とうとう書き溜めた記事も無くなり仕事の合間にネタを探そうとしたらXcode 8 β3が公開されていました。ダウンロードするのにも時間がかかり、何が変わったのか確認もできない。リリースノート読んでもイマイチ良くわ…
50歳の冴えない中年男。当に私です。あれ、「あんた医者でしょ*1。社会的に成功してんじゃないの?」ってツッコミを入れられるかもしれませんが、医者の世界も厳しいもので、「医者ならお金に困らない。」というのは昔の話です。これから医者の世界も勝ち組と…
私がiOS開発の勉強に使っているMacは、MacBook Pro Retina 13-inch Early 2015です。プロセッサは3.1GHzのCore i7でメモリーは16GBなんですが、βバージョンのmacOS SierraとXcode 8を使っているせいなのか、iOSデバイスのシュミレータの動きは滅茶苦茶遅いん…
iOS開発の知識が増えてきているのにオリジナルアプリが作れない理由はなんだろう?少しずつ複雑なチュートリアルも理解できるようになったけど、それを応用する力が全く備わってないんです。チュートリアルに書かれている以外の機能を加えようとしたら何をど…
SKSpriteKitで繰り広げることのできる物理世界は、「ノード」というスプライトノードオブジェクトに「PhysicsBody」という重力世界を感じることのできるボディースーツを着けるところから始まります。このボディースーツにはカテゴリーという状態(ビットマス…
Sprite Kitを使って物理空間を実装する時に理解し難い概念が「BitMask」でした。チュートリアルを読んでも、詳しい説明はされていないからです。プログラミングの基礎が分かっている人はさほど理解に苦しまないでしょう。しかし、私のようにプログラミングの…
ノードに重力空間をまとわせるためにSKPhysicsBodyを設定して、状態を判定するためのカテゴリーも設定します。まずモンスターのカテゴリーを考えます。 let monster = SKSpriteNode(imageNamed: "monster") // ここからphysicsBodyの設定 monster.physicsBod…
ゲームでノード間の衝突を実装するために、SKPhysicsContractDelegateプロトコールに準拠しなければなりません。ノードにphysics bodyというボディースーツをまとわせます。しかし、このボディスーツ、形は単純で「四角」か「丸」しかないようですが、問題に…
ビットマスクという新しい単語が出てきたんで、少し立ち止まりビット計算の勉強をしました。コンピュータが2進法で動いているのは知っていたのですが、2進法で四則計算をどうやっているのか知りませんでした。今までこういう基本的なことを知らないでパソコ…
Sprite Kitを使ったシンプルゲームのチュートリアルを勉強してます。SKViewの勉強をしたかったからです。SKViewに表示するコンテンツはSKSceneクラスということも分かりました。そして個々のオブジェクトはSKSpriteNodeクラス、普通は「ノード」と呼ばれ、SK…
環境:Swift 3βSKViewを実際に実装するためにSprite Kitを使ったシンプルゲームのチュートリアルに取り組んでいます。SKViewはUIViewを継承していて、UIViewはUIResponderを継承しています。そういうわけで、UIResponderの次のメソッドをオーバライドして使…
yataiblue.hatenablog.com実は昨日と同じです。昨日の記事を書いた時点で公開されていないからです。今日の修正をした時点でも昨日の記事は公開されていません。何を言ってるのって? 記事の書き溜めが原因です。今日はこれだけ。
本当にあちこと飛んでます。今日は「Set」の復習です。yataiblue.hatenablog.comちょっと書き換えました。
Swiftで遊ぼう!の前書き-> Life-LOG OtherSide 私の本業、オフィシャルなブログ-> Life-LOG 2018年6月9日:Swift4.2でも動くようにしました(Xcode10.0 betaで動きます) 2016年10月28日:本家RayさんのチュートリアルもSwift 3対応になっているので改訂しま…
2019年5月21日:Swift 4.2の復習中話題が転々としてますが、再び「乱数」を考えます。数日前に理解できていなかった次に示すメソッド、やっと理解できました。コンピュータサイエンスでは常識的な内容なんですが、基礎知識の無い独学50オヤジは、こういう基…
Protocolからプログラミングをする方法として次のような例が載っていました。 protocol Ordered { func precedes(other: Self) -> Bool } struct Number: Ordered { var value: Double = 0 func precedes(other: Number) -> Bool { return self.value < othe…
Swiftで遊ぼう!の前書き-> Life-LOG OtherSide 2018年6月9日:乱数の扱いがSwift 4.2で変更されました。ここの内容も重要ですけど、Swiftで遊ぼう! - 720 - もう少しランダム数を考える - Swiftで遊ぼう! on Hatena で乱数の使用法を変更してくださいProto…
「Protocol」は、オブジェクト指向プログラミングの3本柱の1つ「ポリモーフィズム」を実現する機能だと思っていました。しかし、昨年のWWDC2015の「Protocol-Oriented Programming in Swift」を見て、「Protocol」がObeject-Orientd Programming(OOP)から離…