2019-09-01から1ヶ月間の記事一覧

Cocos2d-xで画像を任意の色で点滅させる(3.x系)

Cocos2d-xで画像を点滅させるには、Blinkを使います。このBlinkの動作は、画像を「表示」⇔「非表示」動きをやってくれます。ただ、自分の好きな色で点滅などは出来ません。画像(Sprite)に弾がヒットした時に一瞬白く点滅する等の2Dゲームに割とよくある表…

C#でTypeInitializationExceptionが発生する

ある日突然プログラムを実行したら「TypeInitializationException」が発生した場合の対処法です。 自分のコード内で発生している場合、以降で説明する状況で発生している可能性があります。 // 発生する例外のメッセージ // .NET Core System.TypeInitializa…

Cocos2d-xで2点間の距離・角度を取得する(3.x系)

タイトルの通りですが、何故かCocos2d-xの2.x系で説明されている古めの記事しかなったので新しい(と言っても相当前ですが)3.x系での書き方の紹介です。 2.xと3.xではメソッド名や関数の位置が全然違うので少し書き方が違います。ただ、古いメソッドなどが…

Cocos2d-xでバーチャルパッド(スティック操作)を実装する

今回は、Cocos2d-x(ver. 3.17.1)でバーチャルパッド(スティックキー)を実装したいと思います。 PSやXboxなどでおなじみの360°方向の入力ができるスティックキーです。 実際に実装するとこんな感じになります。 よくコントローラが画面の下部に表示されてい…

Cocos2d-x 3.17.1で円と矩形(長方形・角度あり)の衝突判定

タイトルにCocos2d-x(2D用のゲームエンジン)でと書きましたが考え方自体は普遍的な円と矩形(長方形)の当たり判定の処理についてです。と、言っても条件式式が結構難しい(当方には説明が難しい)ため解説は以下のサイトが分かりやすくまとまっていますの…

Cocos2d-xでルール画像を使ってシーントランシジョンする(シェーダー使用)

Unityだと以下のように紹介されている、ルール画像を用いたシーンの遷移エフェクトをCocos2d-xで実装してみたいと思います。 tsubakit1.hateblo.jp まずこんな感じのグレースケールのマスク画像を使用します。 画面遷移はこんな感じになります。 「マスク画…

Cocos2d-x 3.17.1のcmakeでスタティックライブラリを作成してビルドを高速化する

はじめに FirebaseをAndroidに追加するときに思ったのですが、Cocos2d-xのAndroid環境は本当に地獄ですね… 少しGradleやCMakeist.txtを編集するとフルビルドになってCocos2d-x丸ごとリコンパイルになって時間がすごくかかります。 少し前に、3.17でcmakeが推…

Cocos2d-x 3.17.1でlib-genコマンドが削除されたけどWin32プロジェクトのビルドを高速化する

あらかじめCocos2d-xのコアの部分をコンパイルしてDLLを作成し、ビルド時間を高速化する話は以前、こちらで書いたのですが、なんと3.17.1からlib-genコマンドが削除されてしまいました。従って、最新版のCocos2d-xだとlib-genコマンドによる事前ビルドが不可…

Cocos2d-x 3.17.1でハッシュ計算を行う(MD5・SHA-256)

ゲームでデータが改ざんされていないかどうかを確かめるためにデータのハッシュ値を取って照合する手法があり、ハッシュ計算が必要になった時に使用するライブラリですが、最近のCocos2d-xにはすでにハッシュ計算用のライブラリが入っています。従って以前の…

Cocos2d-xのWin32プロジェクトでFirebaseの匿名認証してみる

タイトルの通りですが、Win32上でも匿名認証が普通にできるので方法を紹介したいと思います。 前回書いた以下の記事でWin32のプロジェクトが設定済みの状態を想定します。 takachan.hatenablog.com そして、以下のページにある「デスクトップ版の Firebase …

Cocos2d-xのWin32プロジェクトにFirebaseを設定する

Android向けにアプリ開発していますが、プログラムを書くときはWin32プロジェクトで作成しているのでモバイルプラットフォーム向けのライブラリとか機能は特別な分岐コードを書かないといけないのですが、FirebaseはAndroid, iOSは対応していますがWindowsと…