忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

先日作った時計を元にして以前プチコンで制作したPong Clock的な物を
作ってみました。

作ったといってもObjective-Cの部分は殆ど本を写して作ったようなものです^^;
弾やパドルの動き、時計の文字の表示の部分はC言語で作る事が出来たので
その辺は自分で実装出来ました^^
といっても弾やパドルのアルゴリズムは超適当ですがw

とりあえずストーリーボードに必要な部品を登録すれば、ある程度ソースも
出来上がるのは便利ですね。

でもコレでSTG作れって言われたら、ちょっと無理があるかな…


それにしても、ちゃんと動いてくれると嬉しいもんですね。
もっと作りこんでAPP STOREで公開!とかしたいもんですが
そもそも審査通るのかコレ?って気もするので、このままお蔵入りかなー
などと思っております。
それ以前にデベロッパ登録しないとダメですけどね^^;
PR
Cocos2dを使ってiOSアプリを作ろうと始めてみたのですが
色々な解説サイトさんを見てみても、はっきり言って全然理解
出来ませんでした^^;
で、これは一からちゃんと勉強しないとダメだなぁ〜と思って
初心者向けの本を購入してみました。

アマゾンで評判良さそうなのを買ってみましたが、本当に初心者向けで
良かったです。Objective-Cの説明も殆ど載ってないとは思いませんでしたが
この本を理解してからステップアップしていけって感じですかねー。
ついでに買ったCocos2dの本の方は当然の如く
全然意味が解りませんでしたが(笑)

で、本に掲載されていた簡単な時計アプリを作ってみました。

ストーリーボードってのを使うと、殆どプログラムを意識しなくても
ある程度の形にまでは持ってこれるのは便利だなーとは思ったのですが
細かい動きや複雑なものになると使えそうにはないっぽいですね。

それにしてもObjective-Cは難しいです。とりあえずプログラムの流れをつかむのが
ややこしくて、なんでここでこの命令が出てくるんだ?とか、この命令はなんだ?
とか思いまくり。
そして、解らない命令をネットで調べても出てこない事も多々あり
(その製作者さんが作ってる命令とか)さらにメソッドとかインスタンスとか
クラスメソッドとかインスタンスメソッドとかインスタンス変数とか
オーバーライドとか........もう日本語でおkと言いたくなりまくりです(笑)
もうかなり挫折しそうですが、折角Macも買ったし本も買ったしデベロッパ登録
するためにiTunesポイントも10000ポイント買ったので、もうちょっと頑張って
見ようかと思ってます^^;
Cocos2Dでテンプレートから最初のファイルを作って実行すると
横画面で起動するんですよね。
で、縦画面で起動するようにしたいなーと思って調べてみると
Xcodeの左上のプロジェクトファイルをクリックすると出てくるメニューの
Supported interface orientationsって部分を変更すれば良いみたいなのですが

ここを変更して実行するとエラーが出て起動出来なくなってしまいました。


で、更に調べてみるとソースの方も修正しないとダメな感じ。
具体的にはAppDelegate.mとinfo.plistを修正すると実行出来ました。
AppDelegate.mの

-(NSUInteger)supportedInterfaceOrientations内の
return UIInterfaceOrientationMaskLandscape;を↓に

return UIInterfaceOrientationMaskPortrait;

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation内の
return UIInterfaceOrientationIsLandscape(interfaceOrientation);を↓に
return UIInterfaceOrientationIsPortrait(interfaceOrientation);

いずれも2箇所づつあり合計4箇所を修正します。
LandscapeからPortraitに書き換えるだけですけどね。


info.plistの方はファイルを選択するとメニューが出てくるので
Supported interface orientationsの欄を

Item 0:Landscape (left home button)を↓に

Item 0:Portrait (bottom home button)

Item 1:Landscape (right home button)を↓に

Item 1:Portrait (top home button)
変更して実行すると・・・

無事、縦画面で起動してくれました^^

それにしてもObjective-Cの書き方というか文法というのが全然解ってないので
ソースの意味が全然理解出来ないんですよね。
始める前は、もっと解るかと思っていたのですが予想以上にワケが解らないので
ちゃんとObjective-Cの勉強しようかと思ってます^^;

Cocos2Dにはスプライト機能があるので、それを使って
とりあえず適当な画像をスプライト登録して表示させてみました。

表示させるだけならとっても簡単で

CCSprite *ship = [CCSprite spriteWithFile:@"ship.png"];

ship.position = ccp(128, 64);

[self addChild:ship];

この三行を追加しただけ。
画像ファイルはプロジェクトのResourcesフォルダに追加して
Xcodeの左側のResourcesツリーにドラッグ・アンド・ドロップで
追加すればOKでした。

ただ、この三行も解説サイトさんのを丸写ししただけで、実際の命令が
どうなってるのか?って意味が全然解ってないのですが、ソースを追いかけようと
思っても、イマイチ良く判らんのですよねぇ・・・
まぁ、やれるところまではやってみます^^;

iOSアプリ開発に必要なXcodeをインストールしようと思ったのですが
私が購入したMacはOSが10.6でした。
Xcodeは現在バージョン4になっているのですが、4はOS X 10.7以降じゃないと
インストール出来ないようで、以前のバージョン3を使おうかとも思ったのですが
今後のことを考えると新しい方が良いかなーと思い、バージョン4を使うことに。

って事で、まずはOSをバージョンアップしないといけません。
現在MacOSは10.8になっており、APPStoreでダウンロード版が1700円で購入出来ます。
なのでポチっとダウンロードしてインストール。

アップデートも凄く簡単で驚きました。
Windowsだと何やかんやと設定したりしないとダメなイメージなんですが
(かなりマシにはなりましたが)Macの場合は最初にちょっとボタン押して
ほっといたら勝手にアップデート出来てた感じ。
こういうのって簡単そうで作ってる人は凄く苦労したんだろうなーと思ったり。
で、無事OS X 10.8になりました^^
そして、2Gしかないメモリ残量がさらにヤバイ感じに・・・w

続いてXcodeのインストール。

こちらもAPPSTOREにあるので選択してインストールするだけでした。
Xcodeは無料です。


iOSアプリを開発するためには、インテルCPUのMacとXcodeがあれば開発
出来るようなのですが、色々な入門サイトを見ていると、それ以外にライブラリ的
な物を入れると開発しやすい感じ。(VisualStudioに対するDXライブラリみたいな)
最近だとUnityが無償化されて話題を呼んでいたので、Unityが良いのかなーと
思ったのですが、Unityはどっちかというと3D向けみたい?
自分が作りたいのは2Dシューティングなので、どうなんだろう・・・と思っていたら
Cocos2Dってのが何となく良さげな感じ。
結構有名なゲームでも使用されているようです。

って事でCocos2DをダウンロードしてXcodeにインストール。
で、お約束のHello Worldを表示させてみました。

表示させてみたといってもCocos2Dのテンプレートを選択して表示させただけ
なんですけどね^^;
とりあえずXcodeが英語なので、理解するのに一苦労。
Windowsソフトなら英語でも何となく今までの経験で、ある程度の使い方のルール
みたいなのはわかるのですが、Macソフトにはそれが全く通用しないのが痛いです。

日本語化も出来るみたいなのですが、正式な物ではないみたいなので
解説サイトなんかの説明と違うような表記になったら嫌だなーと思ったり。

とりあえずObjective-C以前にXcodeの使い方を勉強する必要がありそうなくらい
全然意味が分かりません^^;
そして既に挫折しそうですw
Twitter
カレンダー
01 2025/02 03
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]