ゲーム開発の備忘録

趣味のゲーム開発でのノウハウや、技術的に嵌ったポイントを忘れないように書き記しておくブログです。

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

libGDXでRoboVMからIntel MOEへの移植を行う コーディング編

はじめに -libGDXでのiOSアプリケーションの作成について- 基本的なランチャーコードの移植 RoboVM関連のimport文の修正 メソッド名の変更 ジェネリッククラスインスタンスの共変指定 配列取得コードの変更 NSMutableArrayが必要なコードの対応 特殊なコード…

Kotlinで書いたlibGDX利用プロジェクトをAndroid Studio 3.2でビルド時に"Cannot change attributes of configuration ':[app名]:kapt' after it has been resolved."が出力される場合の対処法

経緯 Android Studio 3.2にアップデートすると、Gradle 4.6未満のプロジェクトは扱えなくなります。私はlibGDXを利用してAndroidアプリケーションをKotlinで書いていたのですが、gdx-setup.jarによるlibGDXプロジェクトセットアップ時のデフォルトのGradleは…

Google Play Games Servicesサインインの実装 コーディング編(2018/08/28時点)

Google Play Servicesの利用可否の確認 サインイン処理の流れ GoogleSignInクラスとGoogleApiClientクラス サインインクライアントの生成 サイレントサインインの実装 インタラクティブサインインの実装 サインイン処理成功後の処理 サインイン処理成功時の…

Google Play Games Servicesサインインの実装 環境構築編(2018/08/28時点)

Google Play Servicesの利用準備 Google Play Servicesとは build.gradleの設定 AndroidManifestへのパーミッション追記 フィンガプリントの生成 準備完了 Google Play Games Servicesの利用準備 Google Play Consoleでの設定 Google API Consoleでの設定 Fi…

Google Play Games Servicesサインインの実装 目次(2018/8/28時点)

前提条件 ゲームエンジンを使わず、フルスクラッチでの開発でGoogle Play Games Servicesを利用したい場合を想定しています。 ただし、今回はlibGDXとは関連性はありませんので、あらゆるライブラリにて参考になるのではないかと思います。 ※環境設定編は、…

libGDXでAndroidのAPK拡張に対応する

はじめに AndroidアプリはAPKのサイズが100MBを超過すると、そのままでは開発者コンソールにアップロードできなくなります。 そこで必要となるのが、アセットファイルの一部または全部をAPKから拡張ファイルとして切り出し、APKそのもののサイズを大きく減ら…

libGDXでモバイルアプリ開発時にタッチ位置が画面内位置とずれる場合の対処法

はじめに libGDXでモバイル端末向けゲームを開発時にチュートリアルや入門記事通りに進めると嵌る可能性が高いのが、画面内のボタンをタッチして押そうとしてもタッチ位置がずれるため、正常に判定ができないという問題です。 私も開発中期の頃に嵌ったので…

libGDX等、RoboVMを利用したプロジェクトでのIPAアップロード時にITMS-90035で却下される場合の対処法

経緯 libGDXを用いて制作したアプリの更新版IPAをApplication Uploaderから、App Storeにアップロードしようとしたところ、ITMS-90035エラーによってアップロードが却下されました。 ググるといろいろ記事は出てくるのですが、なかなか解決策までたどり着け…

libGDXプロジェクトのiPhone実機デバッグで@NotNullなメソッドがnullを返す際の対処法

前提条件 Android Studio for Mac 3.1 RoboVM 2.3.3 Gradle4.4 対象のiOSはiOS11 経緯 libGDXを用いたプロジェクトのiPhone実機デバッグを試みたところ、 @NotNull method org/robovm/idea/running/RoboVmRunProfileState.startProcess must not return null…

libGDXプロジェクトをiOSエミュレータで実行時にGradleが吐くエラーの解決法

前提 Android Studio for Mac 3.1 RoboVM 2.3.3 Gradle4.4 経緯 libGDXを用いてiOSアプリを作成し、いざエミュレータで実行しようとしたら、 Could not run build action using Gradle installation のエラーが発生。 Gradleのバージョンを変えてみても解決…

libGDXプロジェクトビルド時に発生するorg.bouncycastle.jcajceの競合が解決できない場合の対処法

蓋を開けてみたら滅茶苦茶初歩的なミスが原因でしたが、エラー内容から原因を推測できず、ググっても対処法が分からず、時間をかなり浪費したので自戒の意味も込めて記事にしておきます。 経緯 libGDXを用いてAndroidアプリ開発をしていましたが、 Mac, iPho…

libGDXでBGMをAssetManagerで管理すると再生が効かなくなる場合がある

libGDXには、ゲームで使用する素材(画像、効果音、BGMなど)を管理してくれる、AssetManagerというクラスが用意されています。 AssetManagerについては以下を参考にしてください。westplain.sakuraweb.com qiita.com非常に便利な機能も有しており、基本的には…

libGDXでBGMの任意位置からのスムーズなループ再生を実現する

libGDXで用意されているBGMのループ処理 libGDXではBGM再生ももちろんサポートされています。 具体的には、任意の楽曲ファイルを指定してMusicインスタンスを生成します。 このMusicインスタンスを介して、楽曲の再生や停止、音量調整を行います。BGMのルー…

libGDXでαブレンディング以外のブレンディングを実現する

libGDXはゲーム開発を補佐するライブラリであり、 DXLib等の有名なライブラリと同様に、描画等の処理を簡単に実現するための関数群が用意されています。 が、ブレンディングの設定に関しては関数が用意されていません。 αブレンディングであれば、TextureやB…

libGDXの落とし穴とその対処法の一覧

はじめに 私はAndroidアプリ開発にlibGDXというライブラリを使っています。 libGDXの概要については、以下の公式ドキュメントの日本語訳をご覧ください。 はじめに - libGDXドキュメント 日本語訳 他のライブラリに比べて非常に優れている面ももちろんあるの…