タグ別アーカイブ: iphone

objective-C、XCODE,今日のエラー、Instance variable

objective-C、XCODE,今日のエラー、Instance variable

Instance variable ‘helpSprite’ accessed in class method

インスタンス変数を使ってクラスメソッドにアクセスしているからやめなさい。

Help.hに宣言したhelpSpriteをHelp.mのクラスメソッド(+)で使ってエラー
続きを読む

iPhoneアプリ開発、cocos2dの今日のエラーや失敗、pauseはどうやるかゲーム中のポーズはどの方法がよいか

 ゲーム中のポーズはどの方法がよいでしょうか?
全部停止した方がよいのか?それとも、一部動いていて、主要なキャラクターだけが止まっている状態がよいのでしょうか?

 ゲームオーバーの時は、何かが動いていても良いと思います。動いていなくてもよいでしょう。
 一時停止はどうでしょうか?シューティングみたいなゲームは、自機と敵機と弾、バックスクリーン求める必要があります。そうすると、全部停止した方がよいでしょう。
 
 RPGみたいなものは、シーンやストーリーによって変えても良いのかもしれません。戦闘中は、全部停止となるでしょう。
 そう考えると、細かく停止するところをいちいち考えるのは面倒なので、全部停止した方が早いのかもしれません。

I set function pause in my app code, but it was not work to pause. My app was working.
When I read a technically book, Example,

But My app was not work by that code, Any sprite in my app was animating. So I rewrite

then, my app was pause. I think this code do not use in case background animation. some day I think another way.

参考サイト
cocos2d:アプリのpauseとresumeの注意点
CCLayerとそれに含まれた対象を一時中止/続行させる方法

iPhoneアプリ開発、cocos2dの今日のエラーや失敗、addChildの設定場所は考えて

iPhoneアプリ開発、cocos2dの今日のエラーや失敗、addChildの設定場所は考えて

・エラー、失敗
エラーや警告、クラッシュは無いのに、スプライトが増え続けて、フレームレートが低下する。

・スプライトが意味不明に増加する原因
addChildをループ文に記載し、スプライトが増え続けました。記載場所のミスと、removeの場所の検討ミス

・事例
CCSpriteで、スプライトを設定します。
そして addChildに加えることで、画面に表示されるわけですが、アプリ起動中の短期間の表示として使用する場合、ヘッダファイルに変数を記載せずに、ローカル変数とCCSpriteを登録することがあります。

このとき、ループ中に
addChild
を記載して、
いくつもスプライトが重複して登録されて、

removeChild(?だっけ)は入れていましたが、60回追加されるのに対して、削除は1回だけ。当然スプライトが増え続けるわけです。

addChildを設定するときは、きちんとremoveする、削除する場所を考えて設定しましょう。

ぐーぐるAdMobが表示されないエラー、コードを代えて成功、アイフォンアプリ開発、AppController *app = (AppController*)[[UIApplication sharedApplication] delegate];で作成

ぐーぐるAdMobが表示されないエラー、コードを代えて成功、アイフォンアプリ開発
  前回のエラー、広告が表示されないはこちら
 
アイフォンで広告表示

 AdMobのSDKをGoogleAdMobAdsSdkiOS-6.4.1としました。6.3.0から。
しかし、広告は表示されず。残念

 <<<<>>>>>
 環境:cocos2d-iphone v2.1-rc1 
 XCODE 4.6.2 : Deployment Target 4.3
 AdMob  6.4.1 4/18/2013 Fixed a crash that occurred when the Advertising Identifier is nil.
 
 症状:AdMobが表示されない。つまり、ビューが表示されない。
 エラー: Must set the rootViewController property of GADBannerView before calling loadRequest:
 <<<<>>>>>
 
 
 以下、検討、結論(成功、AdMob表示されるようになりました。)
 
 
 AdMobが正常に表示されない改善
 1.最新版のAdMobSDKにする
 結果:だめでした。
 
 2.参考コードを参考にしてみる(成功)
 結果:広告が表示されました。(1)を参考にしました。
結論として、
AppController *app = (AppController*)[[UIApplication sharedApplication] delegate];
を追加して、app.navControllerを与えました。

 変更したコード
 

 
 
 

 参考
 (1)
 

 
 (2)これは試していません。
 

今日のエラー、アイフォンアプリ、cocos2d-iphone v2.1-rc1でAdmob広告が表示されない。 Must set the rootViewController property エラー|重複エラー

前回のエラーPCH file built from a differentエラーはクリーンでOK。

(1)AdMobエラー
原因は、cocos2d のバージョンによるものです。
解決は4月23日現在、その後改善

cocos2d: cocos2d-iphone v2.1-rc1だと、ダメです。
ver2.0では、正常に広告が表示されます。
なにやら、Viewの仕組みが変わってしまったようですね。
実機で表示されていれば良いのですが、実機での確認はまた、AppleIDを登録することになるので面倒なので、もうちょっと待つことにします。

コンソールに表示されたエラー

To get test ads on this device, call: request.testDevices = [NSArray arrayWithObjects:GAD_SIMULATOR_ID, nil];
(YESにしているので、パラメータが足りないだけで。特にここは問題ない)

Must set the rootViewController property of GADBannerView before calling loadRequest:
(※ ここが問題で、いままででなかったエラー。これがコンソールに表示されてから、シミュレータで広告がでていない。)
そのまま訳せば、LoadRequestよりも前に、RootViewControllerをセットしてね。
その通りになっているはずなのに、広告は表示されない。

adView:didFailToReceiveAdWithError:Request Error: Invalid ad request parameter(s). Check the Xcode console for details.
(エラーを表示させるためのメソッドからの出力だけど、役に立っていないエラー表示)

・今後の検討
まずは、するべき作業を進めてから、
レイヤー設定についても今度検討してみます。

意外と簡単だったiAdとAdmob設定(2) cocos2dで広告付きアプリ広告用のクラスを作成して、CCLayerに追加するタイプです。

 
 (2)重複エラー、正式なエラー表示は忘れました。
 同じ画像を、リソースに設定してしまいました。異なるディレクトリに、同じ画像名を入れてしまい、コンパイルで、やたら長いファイル構成が表示されました。
 
 原因は、同じファイル名がリソース内に存在したこと。どちらか一方を消して、OKです。

iPhoneアプリ開発日記、プロトタイプCバージョンプロジェクト作成 4月15日|Unity4.0のMecanimでキャラクターアニメーションの作成ユーチューブ動画チュートリアルメモ

iPhoneアプリ開発日記、プロトタイプCバージョンプロジェクト作成 4月15日

 
 
 3作目のゲーム案、プロトタイプ構成コード作成作業中です。
プロトタイプも3つめになりました。本当は、プロジェクトの中にターゲットを複数作成したいのですが、作成方法がわかりません。無理矢理ターゲットを追加するとココスのヘッダーが重複してコンパイルできません。どうすればよいのやら。

 
 今回のアイフォンアプリ開発作業中のエラー
 ・衝突判定で、弾が当たっていないと思われたのに、プログラム上では衝突判定となったのはなぜか?
  てっきり衝突判定プログラムが悪いと思って悩んでいたのですが、実際は、画像の透明領域が大きすぎて、見た目が、弾が当たっていないように見えただけでした。透明部分が大きい画像をたまたま使用していたために、人間の見た目では衝突していないように見えて実際は、衝突している状態(コードは正しい)と言うことがわかりました。
 
  画像を流用するときにはきちんと見ないと行けません。たとえ、購入したゲームキットであっても。
  
 ・CCSpriteクラスの継承では、position座標が正常に取得できないことがある(たぶn) 
 クラスを使用して、キャラクターオブジェクトを作成する際に、親クラスを作成して、子クラスを作成します。このとき、プロパティによっては、クラスでオブジェクトを生成したときに、そのオブジェクトのpositionではなくて、オブジェクトの中のCCSpriteからposition座標を取得する必要がありました。たぶん。ここら辺は自信はありませんが、クラスの継承に限らず、クラス中にCCSpriteで、positionを取得するときは、注意が必要です。
 もしかするとself.positionとすればよいだけかもしれませんが、(未だ試していません)
 
 
   

 Unity4.0のMecanimでキャラクターアニメーションの作成ユーチューブ動画チュートリアルメモ

 
 Mecanim Unity 4.0 Tutorial
 非常にシンプルなメカニカムの説明で、オブジェクトをインポートしてメカニカムで設定する最初の部分だけの動画です。メカニカムでどのようにして、オブジェクトのボーンをメカニカムに変更するのかを知りたい部分だけの紹介動画です。
 最初に見る動画です。
 
 
 ーー
 
 Super Simple Mecanim in Unity4 [UnityQuickTips]
30分のチュートリアル、男性の声が聞き取りやすい。英語です。
本格的に、メカニカムで人間アニメー書を設定するときに参考にしたいチュートリアルだと思います。
まだ全部見ていませんが。
 
 
 ーー

 Mecanim Simplified UNITY3D Lesson – 04B
 少しお年を召した感じの英語音声です。
 こちらも、アセットストアからのダウンロードから説明しています。
 
 
 ーー
 
 Unity3D – Character Animation – Maya HIK to Unity Mecanim [English]
 30分、男性の声がちょっと元気がない感じです。音声ははっきりしています。
 MAYAからUnityなので、MAYAを持っていない私は参考にならない部分がありますが、3Dオブジェクトの作成とボーンの設定のヒントになるかもしれません。
 
 
 
 
 

 ドライバー画像テーラーメイド ROCKETBALLZ TOUR TPドライバー MATRIX HD6シャフト【US仕様】[RBZ ロケットボールズ Taylormade]飛距離の出るゴルフドライバーを使うことにより、技術を含めて、より遠くへ飛ばせます。クラブヘッド内部およびソール部の肉厚に変化を持たせることでクラブヘッド前方と低い位置へ重量を配分し、快適なショットにロースピンを生み出し、伸びのある飛びを実現しました。
 

セクシーキャラクターとして新しい宇宙戦艦大和のヤマト航空隊の紅一点“山本 玲”をコスモファルコン部隊所属、平成ヤマトのいまどきの萌えキャラです。
 

スィーリア・クマーニ・エイントリーは、エイントリー公爵家の令嬢で、生徒会会長という気高く美しい美女。「騎士たるもの強くあれ」という家訓のともに、武芸に励む。

対フリーザ戦の名場面、オレは怒ったぞー、フリーザ。と怒りに身を任せてスーパーサイヤ人となり、宇宙一強い存在となった悟空のオーラとエネルギーを表現しました。
 
 
Webマンガで有名な原作を少年ジャンプ作家の村田雄介氏が書き直したワンパンマン3巻。Webマンガの趣味的な作画から、プロの作画になるとストーリが濃厚な作品になります。

iPhoneアプリ開発日誌、今日のエラー、iPad retina解像度、選別

 iPhoneアプリ開発日誌、今日のエラー、iPad retina解像度、選別
 
iPad用のレティナ画像が表示されていないようでした。

アイパッドのレティナ画像は、ipadhd.pngとしてファイル名を作成します。
しかし、ipad.pngが表示されてしまいます。

iPhoneでは、hd.pngと記載することによりiPhone用のレティナ画像を表示できています。

アイパッドのレティナではうまくできていません。なぜでしょうか?

ちょっと不明なので、
「[[UIScreen mainScreen] respondsToSelector: @selector(scale)]

CGSize result = [[UIScreen mainScreen] bounds].size;
から2048のサイズだったらiPadレティナとしてファイル名を直接指定するようにしてみようかと思います。

Admobの実装テスト、アイフォンアプリ広告バナー搭載、AppController *appを作って、gadbanner_.rootViewController=app.navController

Admobの実装テスト、アイフォンアプリ広告バナー搭載

先に感想を述べると、設定は、簡単でした。特にエラーも無く。でも1点だけ気づきにくかったのが、
request.testing = YES;
をNOとしていて、シミュレータで表示されませんでした。
YESで表示されました。

cocos2dでも広告を表示できます。
また、グーグルのAdmobサイトもURLの記載が無くてもパブリッシャーIDは取得できました。
必須ではないようでした。
これで、次期開発のアイフォンアプリでは、広告をつけて申請できそうです。

admob

次の二つをさんこうにしました。
Objective-C:iPhoneアプリにAdMobを実装
cocos2d:iPhoneアプリにAdMobを実装

前回の開発

その後、2013年6,7月の作業です。
cocos2d for iPhoneのバージョンをアップするとAdmobのコードがエラーとなりました。
古いcocos2d for iPhoneのバージョンなら動作していました。
そこで、コードを改善したものが以下の記事です。
今後もcocos2d for iPhoneのバージョンでAdmobが表示されないことがありそうなので、バージョンアップは注意しましょう。

ぐーぐるAdMobが表示されないエラー、コードを代えて成功、アイフォンアプリ開発
コードを代えて成功しました。こちらをどうぞ
AppController *appを作って、gadbanner_.rootViewController=app.navControllerとしました。
[c]
-(void)adMob{
  AppController *app = (AppController*)[[UIApplication sharedApplication] delegate];
CGRect rect = CGRectMake(0, 0, 320, 50);//top objective-cは左上座標系でcocos2dは下が原点
gadbanner_ = [[GADBannerView alloc] initWithFrame:rect];

gadbanner_.adUnitID = @"a1——hiden——b";//publisher ID
//gadbanner_.rootViewController =[[[UIApplication sharedApplication] keyWindow] rootViewController];
gadbanner_.rootViewController=app.navController;

gadbanner_.delegate = self;
[app.navController.view addSubview:gadbanner_];
//[[[CCDirector sharedDirector] view] addSubview:gadbanner_];変更

GADRequest *request = [GADRequest request];
//GADRequestError *error;//=[GADRequestError initialize];
request.testing = YES;//YESにしないと開発時はでません。NOは実機かな
[gadbanner_ loadRequest:request];
}
[/c]

メモ、iPhoneアプリ開発、広告、Google AdMob Ads iOSの情報cocos2d リンクメモ

メモ、iPhoneアプリ開発、広告、Google AdMob Ads iOSの情報cocos2d リンクメモ

・実施結果
cocos2d ver2.0では成功
cocos2d-iphone v2.1-rc1でAdmob広告が表示されない、その後表示OK 2013年4月

cocos2d:iPhoneアプリにAdMobを実装外部サイト
このサイトの内容で先に試してみようと思います。

リンク情報
iPhoneアプリ開発、広告、Google AdMob Ads iOSの情報リンクメモ姉妹サイト
iPhoneアプリにAdMob【プロジェクト付】 ≪ iPhoneアプリ練習
cocos2dでiAdとAdmobを表示 – おかひろの雑記
cocos2d と AdMob 連携のサンプル作りました | Zero4Racer PRO Developer’s Blog
cocos2dでAdMobを実装する ≪ なんかもう実験場

のリンクを記載してます。

前回の開発情報

アイフォンミニゲームアプリ開発日誌、3作目の作業項目のリストアップ

アイフォンミニゲームアプリ開発日誌、3作目の作業項目のリストアップ

3月28日、29日の作業
3作目のアイフォンアプリ、ミニゲーム仕様案の作成

動作環境:iPadをメインで作成し、iPhoneも検討する。できれば、英語版も検討する。
動作画面:iPad:非レティナ、iPhone:レティナ
     横置きポートレート

作成項目一覧案 3/28版

1.画像サイズをチェック、iPadとiPhoneの両方対応で作成。
1.5. 画面サイズにより、位置調整を検討する。サイズ別(iPad,iPhone毎に)にタイルマップを作成すれば、メモリサイズを小さくできるかも
2.バックをタイルマップで作成してみる。これで、当たり判定を加えてみる
3.プレイヤークラスを作成する
4.敵Aクラスを作成する。
5.敵Bクラスを作成する。
5.5 敵Aクラスは1発で死亡する場合と2発、3発で死亡する場合を検討する。2面以上の設定を考慮する
続きを読む