nirasan's tech blog

趣味や仕事の覚え書きです。Linux, Perl, PHP, Ruby, Javascript, Android, Cocos2d-x, Unity などに興味があります。

Unity & NGUI でタッチやスワイプのイベントを取得する

はじめに Unity & NGUI で、パズドラやポコパン的な、オブジェクトを選択してなぞるアクションをした場合のイベント取得方法をまとめました。 コード UISprite と Box Collider と下記のスクリプトをアタッチしたゲームオブジェクトを、複数個シーンに配置し…

Unity に nend の広告を組み込む - iOS 編

はじめに Unity に nend の広告を組み込む - Android 編 - nirasan's tech blog が終わっている前提で、iOS での広告表示を行います。 iOS アプリ作成 apple の開発者サイトの Member Center から、Certifications, Identifiers & Profiles に移動 Identifie…

Unity で Android のビルドができない問題2件

はじめに Google Play Games パッケージのインストール後に発生? 1件目 エラーメッセージ Error building Player: Win32Exception: ApplicationName='/PATH/TO/ADT/adt-bundle-mac-x86_64-20131030/sdk/tools/zipalign', CommandLine='4 "/PATH/TO/PROJECT/…

Unity に nend の広告を組み込む - Android 編

nend への登録 http://nend.net/ から nend 上でアプリと広告枠の作成 nend のマイページから nend SDK の組み込み マニュアルの通り AndroidManifest.xml のひな形は /Applications/Unity/Unity.app/Contents/PlaybackEngines/AndroidPlayer からコピー 広…

Unity でドット絵画像がぼやけるの対策

対策 Unity の Sprite でドット絵を表示しようとしたところ、ところどころぼやけてしまう。 画像のインスペクターで "Format" を "Compressed" から "Truecolor" にしたら正常に表示されるようになった。 参考サイト http://answers.unity3d.com/questions/3…

Unity でホーミング弾的なものの実装

はじめに プレイヤーに向けて移動するホーミング弾的なものの実装 Vector3.MoveTowards は2点間の特定の位置を返すので、プレイヤーの座標と弾の座標を指定して、Update 毎に距離を詰める コード public class Bullet : MonoBehaviour { void Update () { Ga…

Unity で拡張メソッドと静的コンストラクタを使った enum 文字列変換の高速化

はじめに Unity の C# スクリプトで列挙型から文字列への変換は ToString メソッドでできるが遅いらしい そこで、静的コンストラクタで列挙型から文字列に変換しておいて、拡張メソッドで変換した文字列を参照するようにしてみた 宣言 using UnityEngine; us…

Unity で Parse.com を使う - 初期化からユーザー登録とユーザーログインまで

はじめに Unity で MBaaS である Parse.com を使ったアプリの作成から、ユーザーの登録とユーザーログインまでを行ったメモ。 Parse.com の登録とアプリの作成 Parse.com への登録は https://www.parse.com/ の Sign Up から。 ユーザー登録をすると、そのま…

Unity で List を string に変換して PlayrePrefs に保存する

List を string に変換するコード using UnityEngine; using System; using System.IO; using System.Collections; using System.Runtime.Serialization.Formatters.Binary; namespace MyUtils { public class SerializeUtils { public static string Serial…

Unity で Android のネイティブクラスのクラス変数の値を変更する

// Android のネイティブクラスの取得 AndroidJavaClass ajc = new AndroidJavaClass("com.example.SomeClass"); // public static int な変数の値を変更 ajc.SetStatic<int>("someStaticInt", 123); // public static String な変数の値を変更 ajc.SetStatic<string>("so</string></int>…

Unity で iOS のローカル通知を実装

はじめに Unity で iOS のローカル通知を実装する。 Android とは違って、iOS ネイティブの通知機能のラッパーが Unity 側で実装されているので、これを呼び出すだけでよい。 前回の Android 版と同様に、アプリが非アクティブになったら、一定時間後にロー…

Unity で Android ネイティブプラグインの実装 - 一定時間起動していない場合にローカル通知を出すバックグラウンド処理の実装

はじめに 前回に引き続き Unity での Android ネイティブプラグインの実装 今回は、アプリ起動後に非アクティブにしたまま一定時間が経過したら、ローカル通知を出して呼び戻す機能の実装。 プラグイン側の実装 バックグラウンドで実行される Service を実装…

Unity で Android のネイティブプラグインの実装 - ローカル通知を送信する

はじめに Unity で Android のネイティブプラグインを書いてみた記録。 ネイティブプラグイン作成環境を構築し、実際にローカル通知を出すプラグインを作成した。 ネイティブプラグイン作成環境構築参考サイト http://qiita.com/relzx/items/a35f7ab6dbacb48…

Unity で状態遷移のために有限オートマトンの実装

はじめに ゲームオブジェクトの状態遷移処理を毎回 Update とかに書いていたので、https://github.com/thefuntastic/Unity3d-Finite-State-Machine を参考に有限オートマトンを実装した。 有限オートマトンクラス 状態を管理するクラス 状態を管理したいオブ…

Unity で Observer Pattern

はじめに Unity で Observer Pattern を実装したメモ http://www.gamasutra.com/blogs/DarrelCusey/20130829/199271/A_Simple_Observer_Pattern_for_Unity_42.php を参考に、MonoBehaviour を継承しなくても使えるようになどの変更をした ついでに Unity Tes…

Unity 2D と NGUI で横幅を固定する

はじめに Unity の 2D 表示と NGUI では、ともに画面の縦幅を固定するオプションはあるが、横幅を固定することができないので、スクリプトで対応したメモ。 バージョン Unity 4.3.4 NGUI 3.5.6 Unity 2D で横幅を固定する 以下のスクリプトをシーン上の任意…

Unity で DeployGate を使って開発中のアプリを配布する

はじめに Unity で作ったアプリを iOS と Android で動作確認するために DeployGate を使います DeployGate の登録 https://deploygate.com/ からユーザー登録をしてください Android アプリの配布 まずは、Unity 側で apk ファイルを作成します 手順は http…

Unity & NGUI でセレクトボックス的なあれ

はじめに Unity の GUI 拡張 Asset の NGUI を使って、HTML のセレクトボックス的なものを作るには、UIPopup List というコンポーネントを使います。 NGUI v3.5.6 だと、"NGUI/Examples/Scenes/Example 10 - Localization" というシーンで使い方を確認できま…

Unity での iOS アプリ内課金結果をサーバーサイドで検証する

はじめに Unity で iOS のアプリ内課金をした際に、サーバーサイドでの課金内容チェックをしたメモ。 Unity でのアプリ内課金には prime31 の iOS StoreKit In App Purchase Plugin を使用。 サーバーサイドは PHP を使用。 Unity 側 prime31 の iOS StoreKi…

Unity で Sprite sheet をスクリプトで扱うメモ

Sprite sheet = Texture Type: Sprite かつ Sprite Mode: Multiple な画像 // Sprite sheet から Sprite の一覧を取得する Sprite[] sprites = Resources.LoadAll<Sprite> ("SPRITE_NAME"); // Sprite を動的に変更する GetComponent<SpriteRenderer> ().sprite = sprites [0]; // Sp</spriterenderer></sprite>…

Unity + TexturePacker で Sprite Sheet を作る

バージョン Unity 4.3 TexturePacker 3.3.4 TexturePackerImporter 3.3.2 Unity 側準備 任意のプロジェクトを作成 Asset Store から TexturePackerImporter をダウンロードしてインポート TexturePacker 側準備 TexturePacker をインストールして起動 画面右…

Unity + NGUI + FacebookSDK + JSONObject で Facebook のフレンドのプロフィール画像を表示する

はじめに Unity, NGUI(v3.5.6), FacebookSDK, JSONObject がインストールされている環境で、Facebook のフレンドのプロフィール画像をダウンロードして表示したメモ コード /** * Facebook のフレンドのプロフィール画像を表示する * 任意のボタンのOnClick…

Unity で Android In App Billing Plugin を試す

はじめに Unity の Android 用アプリ内課金プラグインとして実績のある prime31 の Android In App Billing Plugin を使って見たメモです。 公式ドキュメント URL https://prime31.com/docs#androidIAB メモ Google Developers にサインインしているアカウン…

Unity の NGUI でボタン押下時に HTTP 通信をする

はじめに Unity で NGUI(v3.5.6) と WWW を使って、ボタン押下時に HTTP 通信をする 準備 [NGUI] > [Create] > [2D UI] で NGUI の準備 アセットから "simple button" でボタンのプレハブを検索し、ヒエラルキーにドラッグアンドドロップ スクリプト作成 usi…

Unity で HTTP 通信をする

はじめに Unity で HTTP 通信をするには WWW クラスを使います。 コード 下記のスクリプトを任意の GameObject にアタッチして再生すると HTTP 通信が実行されます。 HTTP 通信をするメソッドの返り値の型を IEnumerator にするのと、そのメソッドを StartCo…

PHP のライブラリ管理ツール Composer で自前のライブラリも自動で読み込む

php

はじめに composer を使ってインストールしたライブラリは、require や import を明示的に呼ばなくても、使用したタイミングで自動でロードされます。 これは composer の autoload 機能を使っており、composer.json に適切に設定することで、自前のライブラ…

Mac で Vagrant を使って Slim の Hello World

はじめに Mac で Vagrant を使って CentOS 環境を立ち上げて、PHP の micro web application framework の Slim で Hello World をするまでのメモです vagrant の CentOS イメージの取得 @Host vagrant box add centos65-x86_64-20131205 https://github.com…

PHP で配列をそれぞれのキーがそれぞれの値になる連想配列に変換する

php

array(1, 2, 5) を array(1 => 1, 2 => 2, 5 => 5) みたいにするということ PHP で Perl の感じで array_map でやろうとしたが array($k=>$v) を返すと多次元配列になってしまうし array_flatten も組み込みでありません array_reduce かわいい

Unity の NGUI で画像を実行時に変更する

画像を変更する UISprite のアタッチされたオブジェクトの画像を変更する UISprite.spriteName に Atlas の Sprite 名を文字列で指定すると画像を変更することができます。 obj.GetComponent<UISprite> ().spriteName = "new_sprite_name"; ボタン画像を変更する UIBut</uisprite>…

Unity の NGUI v3.5.6 で Atlas を新規作成する

2014/11/18 追記 NGUI v3.7.4 では(もっと前からかもですが) Atlas Maker にある New ボタンから新規作成できるようになっていたので、以下の手順は古いです。 はじめに Unity のGUI作成ツールアセットの NGUI v3.5.6 を使って、Atlas(複数の画像を1枚の…