テクノモンキーのアプリ開発日記

テクノモンキーの開発ブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsやアプリ開発に役立つ情報を発信します。

Unity

【Unity】intの値が5の倍数かを判定する方法(C#)

Unityアプリ開発で「リスト表示でアイテム5個毎に線を引く」という実装をする時に リストのindexの値が5の倍数かどうかを判定する必要があったのでメモ。〇〇の倍数かを判定する。まずコードを書く前に5の倍数かどうかを判定するロジックを理解する必要があ…

【Unity】2つのList配列から共通する値を探す方法(C#)

最近仕事で作っているアプリで「2つの配列から共通する値を探して処理する」場面があったのですが意外とはまってしまいました。慣れてくるとなんてことはないので他のList配列の処理方法と一緒に今後の為にメモ。2つの配列から共通する値を探す方法。配列…

【Unity】Androidアプリビルド時にライブラリの競合エラーが発生した際の対処法に関するメモ

D8: Program type already present: android.arch.core.internal.SafeIterableMap Unityで作ったアプリに広告SDKをいれたらAndroidアプリビルド時に上記のようなエラーでビルド出来ない状態になってしまいました。エラー内容や変更点から考えるとSDK追加時に…

【Android】アルファ版をリリースする場合に登録しなきゃいけない項目まとめ

Unityで作ったアプリのAndroid版をアルファ版としてリリースしようとしたのですが、アルファ版をリリースする場合でも登録しなきゃいけない項目が結構あったので備忘録として残しておきます。Androidアプリをアルファ版として公開するためにGoogle Play Cons…

【Unity】CodelessIAPは結構罠が多いから自分でスクリプト書いた方が確実で速いと思うよ

最近Unityでアプリ内課金を実装するために「CodelessIAP」を使ってみました。簡単に実装できそうということで試してみましたが、結構罠があるので注意が必要そうです。今回はUnityのCodelessIAPでアプリ内課金を実装した感想、つまづきポイントをまとめてお…

【Unity】Android版の64bit対応でやるべきこと

Googleによると2019年8月1日以降、Google Playで公開するアプリには64bit対応が必須になるそうです。最近Google Playにアップしたアプリでも、64bit対応を勧める警告が表示されるようになってしまったので、今のうちに対応しておくことにしました。今回は、U…

UnityのIAPでGoogleの公開鍵(ライセンスキー)が登録できない場合の対処法

Unityのアプリ内課金機能(Unity IAP)を実装中なのですが、Unity上でGoogleの公開鍵(ライセンスキー)を登録しようとしたけどエラーが出て登録できない状況に陥ったので今後の為にメモ。Unity IAPで公開鍵(ライセンスキー)が登録できない。UnityのIAPの…

【Unity】iOS版をシミュレーターで動作確認したい場合にやるべきこと

この前、Unityで作ったアプリで特定の端末のレイアウト崩れが起きていないか確認したい状況がありました。Unityで画面サイズを確認したい端末と同じにすれば大体は確認できるのですが、ステータスバーの表示を含めたレイアウトを確認したかったので、手元な…

【Unity】数値を文字列にする際、桁数を合わせる方法

Unityで数値を文字列にする場合、ToStringで桁数指定すると便利だという事に気づいたのでメモ。数値を文字に変換する場合、1と10など桁数が違う数値も桁数を合わせたいって時がありました。 例を出すと下記のような感じです。10以下の場合、iが1桁になってし…

【Unity】www.EscapeURLを使わないでテキストをURLエンコードする方法

Unityアプリ開発でテキストをURLエンコードする方法としてネットでよくみるのが「www.EscapeURL」を使う方法ですが、「www.EscapeURL」は廃止になるらしいので、別の方法でURLエンコードする方法について調べてみました。例として、Twitterでテキストを簡単…

【Unity】端末のステータスバー(時刻・電池残量)を表示する方法(iOS・Android)

Unityでアプリ開発の仕事をしていて、 お客さんからステータスバー(時刻・電池残量)を表示して欲しいという要望がありました。 Unityで1年くらい開発していますが、ステータスバーの表示はしたことがなく、 そもそもUnityでステータスバーの表示できるのか…

【Unity】iPhoneX、iPhoneXSなどの縦長系の端末かを判定する方法

Unityを使ってアプリを開発するようになってから約1年くらい経ちましたが、 Unityでアプリを開発する上で地味に厄介なのが、iPhoneXなどの縦に細長い系の端末です。iOSもAndroidも最近まではある程度画面の縦横比をそこまで考慮しなくてよかったのですが、iP…

【Unity】Androidプラグイン作成時にClassNotFoundExceptionが発生した場合の対処法

UnityのAndroidプラグインを作成中に発生したエラーに関するメモ。 UnityのAndroidプラグイン作成時にClassNotFoundExceptionが発生 marunouchi-tech.i-studio.co.jp qiita.com smartgames.hatenablog.com 上記の記事を参考にUnityのAndroidプラグインを作成…

【Unity】複数のボタンに順番に番号を振る方法

少し前に「Unityで大量のボタンにコードでクリックイベントを追加する方法」を書いたのですが、仕事で「複数のボタンに順番に番号を振る」っていうこともやらなきゃいけなかったのでメモとして残しておきます。まず最初に思いついたのが、それぞれのボタンに…

【Unity】簡易的なタイマーを実装する方法

Unityでゲームアプリを作る際、使用頻度の高い「タイマー」機能の実装方法に関するメモ。タイマーの仕様としては以下とします。・シーン表示直後にタイマー開始・何分・何秒を表示する

【Unity】ボタンのクリックイベント をコードから追加する方法

Unityで画面に設置したボタンのクリックイベントをコードから追加する方法についてのメモ。今までは「Hierarchy」からボタンを選択して、OnClickにボタンを押した時のメソッドを追加していました。これでも、いいっちゃいいし、今までこれでやってきていたの…

【Unity】ボタンやゲームオブジェクトを中央寄せで均等に配置する方法

Unityでゲームステージ選択画面の今現在のページがわかる「インジケーター」的なものを自作しようとした際に「ゲームオブジェクトを中央寄せで均等に配置」する場面があったのでメモ。やりたかったこととしては真ん中を中心にオブジェクトを横に均等に配置し…

「java コマンドラインツールを使用するには、JDKをインストールする必要があります」と表示された場合の対処法

先日、MacでUnityを起動したら、「java コマンドラインツールを使用するには、JDKをインストールする必要があります。」と表示されるようになりました。今回は、この対処法についてのメモです。

【Unity】画像(テクスチャ)の圧縮設定を変更して消費メモリやアプリの容量を減らす方法(iOS)

Unityでは、テクスチャ(画像)の圧縮設定を変更することで、消費メモリや、アプリ全体の容量を減らすことができるらしいという噂を耳にしたので、実際にUnityでテクスチャの圧縮設定を変更して、どのような効果があるのか調べてみました。テクスチャの圧縮…

【Unity】オブジェクトに指(マウス)を乗せたかを検知する方法

Unityを使ったアプリ開発の仕事で育成ゲームによくあるような「指でこすってアイテムをたくさん収穫する」ような機能を実装することになりました。その際、オブジェクトに指を乗せたか検知する必要があったので、今回は、「オブジェクトに指を乗せたかどうか…

【Unity】Sliderのつまみを消す方法

Unityで画面ロードの進捗状況をSliderを使って表現しようと思ったのですが、Unityで使えるSliderにはデフォルトでつまみがついており、そのままだとそれっぽくないです..どうにかSliderのつまみを削除したいと思って調べて見たら、削除する方法があったので…

【Unity】画面遷移させようとした時に「build settings or the AssetBundle has not been loaded.」のエラーが出る場合の対処法

Unityでトップ画面からゲーム画面へ遷移させようとした時に下記のようなエラーが発生してしまいました。Scene 'GameScene' couldn't be loaded because it has not been added to the build settings or the AssetBundle has not been loaded.To add a scene…

【Unity】テキストファイルを読み込む方法

Unityでテキストファイルを読み込む方法に関するメモ。まず、Unityでテキストファイルを読むためのテキストファイルをAssets/Resource/Scenarios/に配置します。 (Resource以下でもOK)注意点としては、「Resources.Load」でテキストファイルのファイル名を…

【Mac】表示されない「隠しライブラリフォルダ」にアクセスする方法

先日Unityで画像をMacに保存する機能を実装したのですが、画像を保存したはずのMacの「ライブラリ」フォルダに画像が見当たらなくて1時間くらい悩みました。今後の教訓としてメモを残しておきたいと思います。

【Unity】エディターではビルドできるのにiOSプロジェクトを出力しようとするとエラーが出る

Unityでアプリ開発をしている時にハマった問題に関する対処法のメモ。iOS向けの実装と、Android向けの実装、Unityエディター向けの実装をそれぞれ実装した後、Unityエディター上で動作確認して問題なかったので、iOSプロジェクトを出力しようとしたら、下記…

【Unity】モバイルキーボードを表示する&入力されたテキストを取得する方法

UnityでiPhoneやAndroidのキーボードを表示する方法と、キーボードで入力したテキストを取得する方法に関するメモ。Unityでモバイルキーボードを表示したい場合は「TouchScreenKeyboard 」を使います。 ボタンを押したらきーぼーを表示するような場合は以下…

【Unity】値の小数点第2以下を切り捨てて表示する方法

仕事で加速度センサーを使ったアプリをUnityで作っているのですが、 「Input.acceleration」で取得した加速度センサーの値はx,y,zの値が0.000023とかかなり長い桁数の値になってしまいます。調べてみたら、「値の小数点第2以下を切り捨てて表示する方法」が…

【Unity】加速度センサーの値を取得・出力する方法

仕事で加速度センサーを使ったアプリを開発することになりました。加速度センサーはiPhoneやAndroidに搭載されているもので、スマホの傾きや、加速度などの値を取得することができるものです。加速度センサーを使ったアプリ開発はiOSではやったことはありま…

Unityのエディタとして使っていたVisual Studio for Macがいきなり「破損しているか不完全である可能性があるため開けません。」のエラーが出てひらけなくなった

最近UnityをVersion 2018.3.3f1 Personalにアップデートしたら、Visual Studio for Macも一緒にインストールされてました。Visual Studio for MacはUnityのスクリプトエディタとしても使えるし、結構便利だったので、ここ最近はVisual Studio for Macでゴリ…

【Unity】FirebaseでAPNs認証キーを使ってプッシュ通知(FCM)を実装するのに結構苦戦した話

FirebaseのFCM(Firebase Cloud Messaging)をiOSで実装したんですが、APNs認証キーを使ってプッシュ通知を実装するやり方に結構苦戦したので、記録として残しておきます。APNs認証キーを使う新しいやり方。今までiOSでプッシュ通知を行う場合は、通知用の証…