くまちゃんのiOS/Androidゲームプログラミング

マイペースでゲームつくってます。

2013-01-01から1年間の記事一覧

迷路ゲーム、タッチ操作でスムーズ移動

以下の仕様を満たすようにしました。(イメージは添付画像参考) ■親指ひとつでキャラを操作 ■一度入力した方向に移動し続ける ■画面のどこでもタッチ操作(バーチャルコントローラーではない) ■カベで止まる ■キャラは32pixel x 32pixelポイントは、タッチ…

タッチ操作でキャラを斜め移動させたくない時

ドラクエや迷路ゲームで、自キャラを斜め移動させたくない時のタッチパネル操作実装例。 タッチ操作時の指の移動のX移動量とY移動量を、”絶対値で”比較するのがミソ。 ただ、これは処理のベースが前回のタッチした画面の座標と今回のタッチした画面の座標を…

【Xcode5】iOS7のステータスバーを消す

ハマりました。まさかのコンボ必須です。Info(もしくはXXX-Info.plistでも可)で以下の2セットView controller-based status bar… :NO Status bar is initially hidden :YESいや、View controller-based status bar…(表示しきれてへんし)の追加はわからんよ…

Xcode5.0.2 サンプルコードビルド手順

以下のサンプルコードを用いてビルドする手順です。ご参考までに。手順を記載したPDF(14ページ) https://dl.dropboxusercontent.com/u/87424454/4%E8%83%8C%E6%99%AF%28Xcode5%29/Xcode5%E3%83%93%E3%83%AB%E3%83%89%E6%89%8B%E9%A0%86.pdfサンプルコード…

スコアを画像で描画する

1.数字の0〜9の画像を用意 2.スコア記憶用変数を定義 3.桁の数字を格納する配列を定義(例100万まで表示させるならn[7]) 4.トップの桁の数字を取り出す n[0]=score/1000000 5.中間の桁の数字を取り出す n[1]=(score/100000)%10 6.桁を減らして10まで 7.一の…

Xcode5 EmptyテンプレートからViewController追加手順

Xcode5になって、Single View AppテンプレートはStoryboardとARCがデフォルトになりました。 そのため、Emptyテンプレートから以下の手順を行い、 1 新規プロジェクト作成>Emptyテンプレート選択 2 新規ファイルでViewController追加、xibチェックボック…

Sinカーブ移動

View.hファイル float radian; //ラジアンを設定。コンピュータは度を扱えない。ラジアンはgoogle先生に聞こう。 View.mファイル -(id)initWithCoder:(NSCoder*)coder { //略 radian=0; //初期値 //略 } - (void)drawRect:(CGRect)rect { //略 radian=radian…

iOS7時代になりましたがiOS6用アプリの審査でアイコンサイズは

アイコン120×120ピクセルのファイルが無い、とオート返信のメールで警告がありましたが、2013年10月15日現在では無くても審査は無事通過しました。取り急ぎご報告までにて。 https://itunes.apple.com/jp/app/batoru-jiu-jiukuesuto/id721662297?mt=8&uo=4&a…

ドラクエ的マップの描画

※(2014.2.23追記) 新しいエントリをご覧ください ドラクエ的RPGの基礎 マップの描画&当たり判定【Xcode5, iOS7対応】 http://tadakazu1972.hatenablog.com/entry/2014/02/23/113523 - 以下は当時の記事です。(Xcode4, iOS6.1)hogeView.h @interface hogeV…

点滅表示の方法

初期値100の変数をタイマーがわりにし(変数は増加する)、例えば10で割ったあまりの値に応じて描画を切り替える。10を変えると点滅のスピードが変化。 1. hファイル int time; 2. viewのinitWithCoderとか time=100; 3. drawRectの中でループ time=time+1; …

サウンド SE (AudioToolboxでcafファイルを鳴らす)【iOS7対応】

[2013.12.28修正] iOS7になり変更がありました。Xcode5.0.2でビルド確認済。 1. フレームワーク名前変更 (iOS6) #import<AudioToolbox/AudioServices.h> →(iOS7) #import<AudioToolbox/AudioToolbox.h> 2. Xcode5からARCがデフォルトになったためポインタのキャストを修正 (iOS6) AudioServicesCreateSystemSoundID((CF</audiotoolbox/audiotoolbox.h></audiotoolbox/audioservices.h>…

サウンド BGM (AVFoundationでcafファイルを鳴らす)

※AVFoundationで効果音は無理。立ち上がりが遅くてゲームにならない。BGM向け。効果音はAudioToolboxを使うべし 0.まず、AVFoundation.frameworkを追加しておく 1. AppDelegate.h #import <AVFoundation/AVFoundation.h> 2. AppDelegate.m - (BOOL)application:(UIApplication *)applicati</avfoundation/avfoundation.h>…

サウンド WAV->CAFファイル変換

ターミナルで % afconvert -f caff -d [圧縮形式]@[サンプリング] -c [チャンネル] [元ファイル名.wav] [変換後ファイル名.caf] 圧縮形式 > LEI16:圧縮せずに16ビットの音声データ, ima4:IMA4:1の圧縮した音声データ サンプリング> 22,050 or 44,100 チャン…

エンディング スタッフロール(横画面用)

// ----------------------- // ----- エンディング ----- // ----------------------- // スタッフロール 横画面用 if (GameStatus==2) { // エンディング用フラグ NSString* credit0=@"ゲームタイトル"; NSString* credit1=@"ゲームデザイン"; NSString* c…

HPのステータスバー

// 体力バー描画 // 先に下地に赤を描画しておく CGContextSetRGBFillColor(context,1,0,0,1); CGContextSetRGBStrokeColor(context,1,0,0,1); CGContextFillRect(context,CGRectMake(10,40,200,20)); // 次にHP分を青で描画 CGContextSetRGBFillColor(conte…

横画面のときのタッチ座標問題

わかった!わかったあああ!!いや、なにがって、40超えたオッサンがちょっとした数学の問題が解けずに土曜の夜中にうんうんうなっとったわけですわ。なんやゆうたら、アイホンの画面ありまっしゃろ、あれ、フツーは縦で使いますやん?そうするとでんな、X座…

マルチタスク無効化

Info.plistで Application does not run in background YES

画面を横に

iOS6で変更があり、shouldAutorotateToInterfaceOrientationは使わない仕様変更。 よって、3段階の処理が必要。 1. SummaryのSupported Interface Orientations Landscape LeftとLandscape Rightを選択(黒くする!) 2. AppDelegate.m - (BOOL)applicati…

ステータスバー非表示設定

Info.plistで以下のキーを追加 Status bar is initially hidden YES

イメージの拡大縮小描画

[image drawInRect:CGRectMake(x,y,image.size.width*2,image.size.height*2)];

描画の初期設定

// 画面の準備(まあ、呪文のようなものです。アブダカダブラ。) if (context!=NULL) { CGContextRelease(context); context=NULL; } context=UIGraphicsGetCurrentContext(); CGContextRetain(context); // 画面を真っ黒に塗って、全部消す。(それからあ…

テキスト描画 【iOS7対応】

(2014.1.4追記) iOS7になってテキスト描画に変更が生じました。なんでこんなに長くなったのか; NSString* s=@"hogehoge"; UIFont* font=[UIFont fontWithName:@"ArialRoundedMTBold" size:18]; [s drawAtPoint:CGPointMake(20,0) withAttributes:[NSDictio…

イメージ描画

[[p_bmp objectAtIndex:pid] drawAtPoint:(CGPointMake(px,py))];

ターゲットロックオン

for (int di=0;di

オブジェクトをタッチで動かす

// タッチパネル操作 -(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event { lastPoint = [[touches anyObject] locationInView:self.superview]; } -(void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event { // タッチした座標を取得 …