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

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

第二回プチコン大喜利の結果が発表されました。




結果は大喜利大賞受賞!

何か賞に選ばれたら良いなーとは思っていたのですが、まさか大賞とは思って
なかったので、とても嬉しいです^^
そして、動画の中で出てくる「次のプチコン」が気になりまくりますねーw
やはり次があるなら、3DSで立体視対応とかでしょうか。
現状のプチコンだと弾幕STG作るにはちょっと処理速度的に辛いかなーって感じ
なので、もうちょっと速くなってくれると良いなーなどと思っております。


PR
Cocos2D for iPhone レッスンノートと言う本を買ってみました。

先日購入したCocos2Dの本は初心者向けじゃなかったので難しかったのですが
今回購入した本はオールカラーで読みやすい感じ。
サンプルゲームを徐々に作ってコンパイルして確認していく感じなので
解りやすかったです。
といっても、やはりObjective-Cはある程度理解している前提で書かれていますが。

で、この本を参考にしながら画面タッチした場所に自機が移動するコードを
作ってみました。

画像ではわかりにくいですが、タッチした場所に自機表示、ドラッグしたら
そのまま自機移動していくようになってます。
ホントはタッチした場所に移動するんじゃなくてタッチした場所で自機移動操作
を行う&画面の端から端まで指を動かさなくても自機は端から端まで移動する
ようにしたいので、もっと改良が必要です。

それにしても、何回も言いますがObjective-Cは難しいというか解りにくいです・・・
なんか後で楽をするための最初の設定がややこしいって感じ?
あと、メソッドの書き方がややこしくて取っつきにくいです^^;

例えば引数にxとyを設定したいとしたらこんな感じで書くんですよね
- (void)move:(float)x andY:(float)y;
C言語ならこんな感じ
(void)move (float x , float y);
引数を()内に書かないのが違和感たっぷりなんですよね。
そして頭に書いてる-とか+とかもインスタンスメソッドとかクラスメソッドとかの
違いみたいですが、イマイチ理解出来てませんし・・・

selfやsuperも何となくわかりますが、selfとか書かずに指定のクラスを書いてくれた
方が解りやすいような気がするんですが、多分違うんでしょうね^^;

と言った感じで相当苦労しているので、ちゃんと完成する気が全くしてこないですw

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

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

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

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


それにしても、ちゃんと動いてくれると嬉しいもんですね。
もっと作りこんでAPP STOREで公開!とかしたいもんですが
そもそも審査通るのかコレ?って気もするので、このままお蔵入りかなー
などと思っております。
それ以前にデベロッパ登録しないとダメですけどね^^;
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の勉強しようかと思ってます^^;

Twitter
カレンダー
03 2025/04 05
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 29 30
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]