Unity のスプライトや、ゲーム開発においての初心者あるある。
主に2Dゲーを作ろうとしたときに、スプライトの端に隣のテクセルが見切れてしまうような現象に出会ってしまった場合、
テクスチャのサイズをPOW2(2累乗サイズ)にしていないかを確認しよう。
1 / 2 / 4 / 8 / 16 / 32 / 64 / 128 / 256 / 512 / 1024 / 2048 / 4096 など
POW2のサイズに余白を足してでもテクスチャを広げてみよう。
浮動小数が割り切れる数になるため、端数がでて変な見切れは発生しなくなる。
Could not change executable permissions on the application が出る理由
同バンドル名で既に端末にインストールされているものがあるのが原因。
該当するアプリを削除してから再度実行すれば通る。
該当するアプリを削除してから再度実行すれば通る。
The left(right) operand of '/' is a garbage value の原因
ローカル変数を定義した際に、初期化していないまま計算すると出る。
なので、 適当に初期化してやればこの警告は消える。
例)
int i = 100;
int aaa; // ここで初期化してない
i = i / aaa;
// ^ The right operand of '/' is a garbage value.
なので、 適当に初期化してやればこの警告は消える。
例)
int i = 100;
int aaa; // ここで初期化してない
i = i / aaa;
// ^ The right operand of '/' is a garbage value.
親ビューから子ビューの範囲にあるタッチイベントを処理したい時
親から子の範囲にあるタッチイベントを処理したいという時は、
子にも親で処理したいイベントを実装する。( touchesBegan など )
その中に以下のコードを入れる。
[self.superview /*EventMethod*/:touches withEvent:event];
/*EventMethod*/ には、touchesBegan、touchesMoved、touchesEnded など
そのイベントを記述。
こうすることで、このイベントを親に丸投げできる。
子にも親で処理したいイベントを実装する。( touchesBegan など )
その中に以下のコードを入れる。
[self.superview /*EventMethod*/:touches withEvent:event];
/*EventMethod*/ には、touchesBegan、touchesMoved、touchesEnded など
そのイベントを記述。
こうすることで、このイベントを親に丸投げできる。
error: failed to attach to process ID ... が出たら
突然、上記エラーでシミュレータが起動しなくなり、
clean しても 再起動しても直らなくて困る。
最終的に、iPhone シミュレータの「コンテンツと設定をリセット...」で
設定周りをリセットしたら動くようになったのでメモ。
[ 追記 ]
再度発生&解決。
StackOverflow にも同様の現象で困ってる人がいたが、
サイトのアドバイス通りに、
「LLDB」から「GDB」に一度設定を変更し一度シミュレータで「実行」させる。
その後、また設定を「LLDB」に戻すと直った。
clean しても 再起動しても直らなくて困る。
最終的に、iPhone シミュレータの「コンテンツと設定をリセット...」で
設定周りをリセットしたら動くようになったのでメモ。
[ 追記 ]
再度発生&解決。
StackOverflow にも同様の現象で困ってる人がいたが、
サイトのアドバイス通りに、
「LLDB」から「GDB」に一度設定を変更し一度シミュレータで「実行」させる。
その後、また設定を「LLDB」に戻すと直った。
NSObjCRuntime.hでerror: expected unqualified-id のようなエラーがたくさん出る
c や cpp でコーディングしていて、NSObjCRuntime.hでerror: expected unqualified-id のようなエラーが
たくさん出た時は、c/cpp/h/hpp などから obj-c を使っているヘッダをインクルードしているのが原因。
c や cpp を m、mm にリネームするか、なんとか objc を使用しているファイルを
インクルードしないでもいいような形に変えてやるとひとまずおさまる。
たくさん出た時は、c/cpp/h/hpp などから obj-c を使っているヘッダをインクルードしているのが原因。
c や cpp を m、mm にリネームするか、なんとか objc を使用しているファイルを
インクルードしないでもいいような形に変えてやるとひとまずおさまる。
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-g++-4.2 failed with exit code 1
調べると「変数二重定義」とか、「Xcodeとビルドキャッシュをクリーンすると直った」とか
あるみたいだけど、自分の場合はいつなんでそうなったのか
プロジェクトのファイルリストに同じファイルが2つできてた(どうやったらこうなるんだ…)
片方の参照を削除したら直った。
あるみたいだけど、自分の場合はいつなんでそうなったのか
プロジェクトのファイルリストに同じファイルが2つできてた(どうやったらこうなるんだ…)
片方の参照を削除したら直った。
no previous prototype for function 〜の対処方法
no previous prototype for function 'hoge' みたいな警告が出るのは
プロトタイプがねーよ!って事なのだが、逐一言われてもうるさいので
ビルド設定の「Missing Function Prototypes」をNOにすれば出なくなる。
プロトタイプがねーよ!って事なのだが、逐一言われてもうるさいので
ビルド設定の「Missing Function Prototypes」をNOにすれば出なくなる。
謎のerror: break statement not within loop or switch
Xcode4が突如、想定しない場所で「error: break statement not within loop or switch」を吐き始める。
カッコ忘れとか初歩的ミスをしていない事を確認し、次に発生箇所を削ってみる。
するとエラー位置がどんどん上に上がっていく。
しまいにゃbreakを全部取っ払っても出る。意味不明。
cleanしても出るしなんなんだと、Xcodeを再起動してから再度clean&buildしてみる。
同じコードなのにおとなしくなった。うーむ。
なんだかおかしいと思ったら、これからは再起してclean。
カッコ忘れとか初歩的ミスをしていない事を確認し、次に発生箇所を削ってみる。
するとエラー位置がどんどん上に上がっていく。
しまいにゃbreakを全部取っ払っても出る。意味不明。
cleanしても出るしなんなんだと、Xcodeを再起動してから再度clean&buildしてみる。
同じコードなのにおとなしくなった。うーむ。
なんだかおかしいと思ったら、これからは再起してclean。