サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
raharu0425.hatenablog.com
例えばキャラクターの状態管理で ・アイドル ・走る ・攻撃 ・ジャンプ こんな状態を管理する際にどういう処理にしているでしょうか…? 一番簡単な方法で考えれば各状態のフラグを用意して状態遷移させる事や、 状態を管理するビットを用意して内包している状態を判定させる方法などがありそうですが、 どちらもupdate内が段々複雑になっていき、状態が多くなって行くほどにバグの温床になりそうな予感がぷんぷんします。 UnityではPlayMakerやuStateなどのAssetも用意されていますが、 もう少しフランクに状態を管理したいと思い作ってみる事にしました。 考え方はStateパターンの通りなのですが、 処理自体はMonoBehaviourを継承しているクラスが行い、 状態管理のみを行うクラスを作るという方法です。 まぁ百聞は一見に如かずという事で早速 オブジェクトの作成 まずは適当なオブジェク
-- 8/26追記 今北工業さんが私の記事のtypoを修正してくださりました〜! こちらも参考にしてくださいm( )m blog.livedoor.jp 今月末に引っ越しを控え案件のタスクを残したくないraharuです さて、前回に引き続きUnityのNative連携のAndro編です。 流れとしてはAlarmManagerで登録 レシーバーで受信したらローカル通知を投げるという事をしたいだけなのにクソはまった。。 ※まだAndroidPluginの作成環境が出来てない人はこちらの記事で環境を構築してください。 パッケージ名は自由ですが、 今回はnet.raharu.localnotifypluginです これあとでAndroidManifestに使うので重要 java側 localNotification.java package net.raharu.localnotifyplugin
必要環境 Mac UnityPro(有料) github(アカウント作成&SSH認証済み) Jenkins(無料) DeployGate(無料) iOS Developper契約済みアカウント(有料) となりますUnityProが必要な理由はバッチモードで メソッドを直接実行できるオプションがProのみ対応しているとのことです。 0からこの環境を整えるのは結構面倒かとおもいますが、 一応必須条件は上記条件になります。 やる事 ・Unityでプロジェクトの作成 ・Githubで管理を行う ・コマンドラインからビルドする ・Jenkinsの設定についか ・xcodeプロジェクトからipaファイルを作成 ・DeployGateアップロードして配布開始 という流れになります。 ・Unityでプロジェクトの作成 どんなプロジェクトでもかまいません適当なプロジェクトを作成して保存しましょう。 一応文字
未だに3.0Finalからバージョンアップしてないraharuです。 この間AVアンプ買いました、テレビとリンビングPCが同じアンプ経由で接続されているので 結構便利になりましたおすすめです。 という事で今回はPageViewを試してみます。 PageViewScene.h #include "cocos2d.h" #include <ui/CocosGUI.h> class PageViewScene : public cocos2d::Layer { public : static cocos2d::Scene* createScene(); virtual bool init(); CREATE_FUNC(PageViewScene); void pageviewCallBack(cocos2d::Ref * psender, cocos2d::ui::PageViewEventTy
さて、敵もできたし、はよ他の方に行きたいんですけど、 ちょっとやり残している事があるのでそこら編を微調整していきたいですね。 プレイヤーにカメラを自動追尾させる 今はプレイヤをちょっと引いた位置から見ているだけのカメラですけど、 プレイヤーが右左に動いたら、カメラのx軸を自動追尾してくれるようにします。 カメラObjectにC#Scriptを追加して、camera.csを作ります。 中身はこんな感じ using UnityEngine; using System.Collections; public class camera : MonoBehaviour { public GameObject player; // Use this for initialization void Start () { } // Update is called once per frame void
CocostudioForMacがついに公開されましたね! UIのレイアウト作成が簡単になり本当に嬉しい限りです!! しかーし!圧倒的に資料が少ない+あっても中文やEnglishです。 なので自分で調べたところは共有がてら備忘録に残しておきたいと思います。 ※指摘、マサカリ等歓迎しています。手探りでやっていますので共有してもらえると非常に助かります。 Cocostudio側のステータス Cocostudioでボタンを生成して3つの画像を用意します。 ステータスもセットしておきます。 ※画像はノーマル状態の時 Cocos2d-xで連携する BattleSceneとなっていますが適宜変更してください bool BattleScene::init() ~~~skip //Cocostudio auto widget = GUIReader::getInstance()->widgetFromJs
前回からの続きで今回は設置した銃から銃弾を撃つようにしたいということでやっとスクリプト書きます。 前回までのぜ!口調にそろそろ年齢的な限界を感じた為、今回から適当にキャラで行きます(´・ω・`) 1.とりあえず弾が出るようしたい やっとこさ銃を撃つというスクリプト書けるようになりました。 Project > create > JavaScriptでアセットに空のJSファイルを出します。 これを以下の様に編集してGun Shot.jsとして保存します。 #pragma strict var BulletPrefab: GameObject; function Start () { } function Update () { if( Input.GetButton("Fire1")) { var muzzle = transform.Find('Lo_Muzzle'); var bul :
TestFlightのAndroidサポート終了 つい前回の記事でTestFlightの設定をしていたのですが、 さて、Androidもできるようにしようとしたら、、、 TestFlight | Android End of Life そうだったわ!TestFlightAppleに買収されてAndroidのサポートを終了したんだった。 さすがAppleさんやで!買収して競合相手を蹴落とすとか! 清々しいまでの外道っぷりっ! そこにシビれる!あこがれるゥ! といっても終了してしまったのはしょうがないので、別の方法を探す事にしました。 TestFairyの導入 今回紹介するTestFairyは、TestFlightのSDKをそのまま使えます。さらに、コードを一切書き換える必要がありません。TestFlight利用者にとってはかなり楽に移行ができますのでオススメ。 TestFlightの代わりと
さて前回の記事でカメラをフォローする所まで書きましたが、 Cocos2dx 3.x box2dを使用してカメラをフォローさせる - とあるプログラマの備忘録 今回はTielMapEditor Tieldを使用してマップを作成したいと思います。 Tiled Map Editor こちらのDaily Buildsの方のから最新版をダウンロードしましょう。 なぜ最新版かというとプロパティが編集出来るようになっているからです。 私は5/24段階のdmgファイルを使用しました。 インストールしたら適当に新しいプロジェクトを作成します。 するとこんな画面になるはずです 左のレイヤーボタンを押すとレイヤーが見れます。 現在タイル・レイヤーとなっている所をLayerと名前を変更します。 その後追加ボタンを押し、オブジェクト・レイヤーの追加をします こちらも名前をCollisionMapとします タイル・レ
なんか横スクロールっぽい物を作成したいなと思って前々回位に Cocos2dx 3.0 物理演算を試してみる - とあるプログラマの備忘録 という記事を書いたのですが、Cocos2dx 3.xで追加されたこの方法では setPhysicsBodyしたNodeにカメラFollowが出来ない ※2014/5/25日現在 致命的じゃないか!詳細は closed #4150: fix physics position and rotation bug. by boyu0 · Pull Request #5493 · cocos2d/cocos2d-x · GitHub と解決策が出そうな出なさそうなというところです。早く直してほしい。。 しかし、Box2d使えば行けるらしいよ? という情報をTさんから頂き早速やってみました。 まずは準備 【Cocos2d-xで学ぶBox2D超入門第0回】Box2Dを
どうやら3.1からdownload-deps.pyみたいなのがあるらしいのですが、 まだ3.0のまま使っている私です。 皆さんはバージョンいくつ使っているのでしょうか? 私、気になります! 実はデフォルトで入っているSpineは古く表示位は難なく出来るのですが、 若干のバグがあったり安定版とは言えません。 という事でSpineのランタイムを最新に更新して付属のデモを流すところまでやりたいと思います。 ご指摘等ございましたらご連絡下さいm( )m 結果はこんな感じ ダウンロード spine-runtimes/spine-cocos2dx/3.0 at master · EsotericSoftware/spine-runtimes · GitHub zipで落としてもgithubでやっても何でもいいですとりあえず自分のローカルに落として来れたら こんな状態になっています。今回はデスクトップに
前回websocketでの通信を試してみたんですけど、 今回はHTTP通信でやってみます。 JSONパーサーはkazuhoさんが公開しているpicojsonを使用させていただきました。 /lang/cplusplus/picojson/trunk/picojson.h – CodeRepos::Share – Trac 他の人はspine/Json.h使っているのが普通なんでしょうか? では早速 レスポンスデータは以下の状態としています。 {"id":1000101001,"title":"とあるプログラマの備忘録","is_bool":false} HelloWorld.h #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" #include <HttpRequest.h>
※iOSのデバックを行う際には年間8,400円のiOSデベロッパー契約が必要になります。 この方法色々な所で非常に親切に説明していただいていますので、 参考ページへのリンクと、自分がはまったところの解説を合わせて行いたいと思います。 1,プロジェクトの作成 2,iOS Developerアカウントの作成 3,Provisioning Profileの作成 4,実機への確認テスト 5,Homebrewのインストール 6,gitインストール 7,githubアカウントの作成 8,リポジトリの作成 9,ソースをリポジトリへpush 10,Jenkinsのインストール&設定 11,Jenkinsでのビルド 12,TestFlightのアカウント作成 13,デバイスの登録 14デバイスの追加 1,プロジェクトの作成 このページにきている人はもちろんCococs2dxのダウンロードは完了していると思い
某プラットフォームのiOSの音声がならずいろいろ試行錯誤してみた結果 この方法でなるようになったので一応備忘録 処理のフロー的にはこんな 1,ページが開かれる 2,対象の音声をロード 3,Web Audio APIが使用できるかのチェック ※iOS6から使用が可能 4,XMLHttpRequestでmp3ファイルをバイナリで持ってくる 5,デコード 6,「再生」ボタンを押す 7,ロードしてる音声ファイルを流す という流れになります。 sound.js $(document).ready(function() { /** * @component */ var context; var sound_buffer = null; //onLoad window.addEventListener('load', init, false); /** * 初期化 * **/ function ini
先日rc0が公開されましたが またまたbeta2からプロジェクト作成の手順がまた変わるというね。。 変わったって事はもちろん前よりも何かがよくなったのでしょうと期待してHelloWorldしてみます とりあえずREADME読むと、 ダウンロードしたファイルを解凍してその直下の階層にsetup.py作ったからとりあえずそれ実行しろ って書いてあります。 なので $ ./setup.py Setting up cocos2d-x... -> Adding COCOS2D_CONSOLE_ROOT environment variable... ALREADY ADDED -> Looking for NDK_ROOT envrironment variable... FOUND -> Looking for ANDROID_SDK_ROOT envrironment variable... N
※このブログはUnityの勉強がてら備忘録として残しているものです、ご使用の際には自己責任でお願いします。 前回なんか動かせそうなマップを作ったのですが、肝心のプレイヤーが居ないのでまたN氏にお願いして キャラクターのSprite画像をつくってもらいました。 丁寧に逆向きのパターン迄作ってくれたN氏ですが、これ後でわかるんですけど、 実際逆向きってのは使わないで作成ができます! ではこれをとりあえずUnityに取り込んで、Texcure typeをSpriteにします。 Sprite Mode をMultipleにするとSpriteEditorが出てきますのでそれをクリック。 前回も使ってったんですけど、やっとSpriteの利点を生かせる形になりました。 で、これを個別に切り取るんですけど、一個づつやってたら面倒なのでUnityに任せましょう。 Sprite Editorの左上にあるSli
Importing a Spine Animation into Unity3D - YouTube 神動画! こちらの方法でSprineのアニメーションを動かす事ができます。 「こ、こいつ動くぞっ!」 サンプル置き場 Unity Web Player | spinetest Spineのデータが使えるという事なのでこれを使って次はまたクソゲー作ってみます。 アニメーションの切り換え 例えばaとbという別のアニメーションがあったとしてそれを切り替えるには GetComponentでインスタンスを呼び出してanimationNameを変更する事でアニメーションの切り換えが可能です SkeletonAnimation miku = GetComponent<SkeletonAnimation>(); miku.animationName = "a"; 素晴らしい! これができるだけで大分ちがい
前回ダンジョンっぽいマップが出来上がり早くダンジョン内を動かしたいと思うのですが、 前にFPS系のゾンビゲーを作りたい!なんて事をしていたときは動かすキャラクターはコンポーネントに頼っていたのですが、 今回は動く時のスクリプトは自前で書きたいとおもいます。 では早速キャラクターを置きたいのですが、色々探したのですが、いい感じのモーションがついていて、 無料のキャラクターを探したのですが、ない。。。orz しょうがないのでBlenderをインスコして自分で作ってやるよっ!って思ったのですが、 すいません3Dモデリングなめてました。適当な物すらモデリングできずに一旦挫折(この奮闘記は又の機会に) そんで結局行き着いたのが極力安くてモーションが沢山ついているアセットを購入するという事になりました。 こういう時いい方法があるよ!って方是非教えてください、攻撃モーションだけ拾ってきて、適当なボーンに
前回で敵を塵にするところまではできたのですが、まだ敵は一歩も動きません。 なんかもっと近くに寄ったらこっちに向かってきてくれる様なアクションが欲しい物です。 1.近くに寄ったら敵が近づいてくるようにしたい 1-1.mobにCharacter Controller追加 とりあえず、この敵をなんとか動かしたいので、 Hierarchy > mobにInspectorからCharacter Controolerコンポーネントを追加します。 そして緑の当たり判定の部分をmobオブジェクトを囲うようにします。 1-2.mobが認識する範囲を作る mobのInspectorから Add Component > Physics > Sphere Colliderを追加して、 敵の認識ゾーンを作ります。 広さは10に設定してみました。 この円範囲をトリガーとします。 is Triggerにチェック これで
私達アラサーとしてはやっぱりダンジョンという言葉に胸躍らされてしまいます。 ってことでトルネコとウィザードリーの中間位の3Dダンジョンゲーを作ってみたいなと思います。 1.床となるフロアを作りたい 1-1.床を作る 何にせよ床が無いと始まらないので床を作ります。 Hierarcy > Create > Plain で床を作ります。 名前をfloorとかにしておきましょう。 positionのyが-0.5になっているは1のスケールの壁を作ると半分が地下に埋まってしまうので床を少し下に下げているという事です。 これを0で作りたい場合は壁のy軸を+0.5してやると良いと思います。 1-2.床にテクスチャ貼る Assets > Create > Materialで床にテクスチャ貼ります。 今回は「WebTreats_NaturalGrunge3」のテクスチャを貼りたいと思います (もしかしてこのテ
最近勉強の為にUnityを触っていますが、 とりあえずインストールして本とか買ってみたんだけど、まだまだ全然わかんねーということで ここではUnity初心者が七転八倒しながらやったことを備忘録として残していきたいと思います。 ーーーー本文ーーーー 1.とりあえずプロジェクト作ろうぜ Unity起動してメニューのFile > Open Project押します するとこんな画面が出てくるので同じ場所にチェックボックスをつけてしたの[Create Project]を押します。 後でわかった事 ◆Character Controller.unityPackage その名の通りキャラクターをコントロールするパッケージだそうです。 ◆SkyBoxes.unityPackage セカイの背景を青空にしてくれるパッケージです。 ◆Terrain Assets.unityPackage これがマップを造形し
Unityが2D弱いと言われてるんですけど、ソーシャル畑の私はどうしても2Dを使わないと行けないので NGUIなるものを試してみる事にしました(無料の評価版があるのでそれをとりあえず使ってみる) 評価版のダウンロードはこちら それをダウンロードしたら毎回これを呼び出すのが面倒なので UnityProjectから呼び出せるようにしておきます。 $ cd /Applications/Unity/Standard Packages/ $ cp ~/Downloads/ngui_free.unitypackage .//Applications/Unity/Standard Packages/以下に.unitypackageファイルを置いておけば良いそうです。 Unityを再起動して、 Project > ダブルタップでInport Package > ngui_freeと出てくるのでそれをインポ
前回はマップ作りましたが、まだFPSにはほど遠いのでとりあえず自分である キャラクター置きたいと思います。 できれば銃を撃つ所まで行きたいのですがスクリプトも絡むのでどうなる事やら。。 何度も言いますが、ここはUnity初心者が七転八倒しながらUnityを勉強するときの備忘録になります。 1.とりあえずキャラ置こうぜ 新しいプロジェクトを作ったときにCharacter Controllerのパッケージをインポートしておいたので、 Assets > Standard Assets > Character Controllersの中の 「First Person Controller.prefab」をマップ上に置いてみます。 そうするとこんな感じなるので、 Hierarchyの名前が「First Person Controller」になっているのでこれを「Player」に変えておきます。 この
ちょっとPhalconを使わなければならない状態になったので、使ってみているのですが、 Phalcon結構素直でいいFWだと思います。 Phalconはだんだん好きになってきたのですが、 この案件今まで一人でやっていたらしく、migrationとか使ってないといわれました。 そんじゃPhalconMigrationでもつかうかと気軽におもったのですが 資料がない。 あってもup系の記事や記述ばかりでdownどうすんねん!! ってのがわからなかったのでしょうがないからソースを読んでやっとわかったので、 同じ轍を踏んでいる人が少しでも参考になるように記載しておきます。 とりあえずソースよませろや!って方はこちらを読めば大体挙動がわかると思います。 GitHubは偉大 github.com ・テーブルはわかりやすいようにmigration_testを指定していますが指定しなければALLになります
テストとかやるときにどうしても複数ユーザーでの検証が必要になった時に役に立つ方法 1、デスクトップにショートカット作成 2、ショートカットのプロパティを開いてリンク先の一番後ろに "C:\Program Files\Mozilla Firefox\firefox.exe" -no-remote -pこれを追加。 3、作ったショートカットでFireFoxを起動。すると変な画面が出てくるので、「新しいプロファイルを作成」をクリック 4、適当な名前を打ち込んで完了※今回はtestって名前のプロファイルを作成したとします。 5、さっき作ったショートカットのプロパティーを開いてプロファイル名を入力 "C:\Program Files\Mozilla Firefox\firefox.exe" -no-remote -p "test"これでまったく別プロセスで動くものができるので使うとかなり便利♪ でも
なんだかすごいタイトルだなw 今日絵文字の抽出ロジックを書く機会があったのですが、 思ったより探し物が見つからなかったので記述 間違っていたら教えてください。 ■絵文字領域(docomo) sjis:[\xF8\xF9][\x40-\x7E\x80-\xFC] utf8:\xEE[\x98-\x9D][\x80-\xBF]■絵文字領域(au) sjis:[\xF3\xF4\xF6\xF7][\x40-\x7E\x80-\xFC] utf8:(?:\xEE[\xB1-\xB3\xB5\xB6\xBD-\xBF]|\xEF[\x81-\x83])[\x80-\xBF]■絵文字領域(softbank) sjis:[\xF7\xF9\xFB][\x41-\x7E\x80-\x9B\xA1-\xFA] utf8:\xEE[\x80\x81\x84\x85\x88\x89\x8C\x8D\x90\x9
これ考えてくれた人にマジ感謝したい一品 $hoge = array( array('id'=>'3','date'=>'2010.10','name'=>'イカ娘'), array('id'=>'1','date'=>'2010.10','name'=>'それでも町は廻ってる'), array('id'=>'2','date'=>'2010.11','name'=>'百花繚乱サムライガール')); これを一番目の要素で並び替えたいときは。 //いったんソートするキーを配列で取り出して、 foreach($hoge as $key=>$value){ $id[$key] = $value['id']; } array_multisort($id ,SORT_ASC,$hoge); //これで並び替え完了。 phpやってる人ならわかると思いますが、DESCもできます。 まじこれでのおかげでかな
僕は7月に転職した。 前にいた会社はそこそこの大きさ100人弱、一時期は「ベンチャー企業」として 成功をしようとしていたが、この不景気の波に大きく飲まれて会社は弱体化。 給料は通常通り支払われるものの、 役員クラス&中堅がバシバシ抜けていく状態になっていた。 この状態になったのは僕が会社に入って3年目のことだったが、 別にこの状態になったから会社を退職したわけではない。 ではなぜ会社を退職したのか? 「日本のプロジェクトは他会社からの寄せ集めで作成されることが多い!」 僕がかかわったプロジェクトは7つだったが、 自社での開発たったの1つ。 他は常駐開発という名の派遣だった、 最初は何も疑問を抱かなかったけど、これってなにがおもしろいの? 常駐先で知り合いになれる人が良い人だったとかそんなことはおいておいて、 なんか会社が金額と見合ったプロジェクトを見つけてきて面接、 通ったら3カ月〜半年程
本来製品を使うところのスケジューラーをテスト環境で動かすために、 cronを使って擬似的にスケジューリングしてみたのですが。。。 巧妙な罠の連発でした。Solarisどんだけーorz ***設定内容 UNIX:Solarisの環境にて、cronを使い、シェル・スクリプトで呼び出したPERLファイルを実行する。 ***罠 ①まずはエディターをviに設定しないとcronを変更できない! ②Perlのファイルをいきなりcronで実行することができない! ③rootで切られていない環境変数はシェルでexprotすること! ④LINUXとはn分に一回処理する場合の記述法が違う! ⑤実行権限を渡してやること。 ⑥ログにエラーの詳細は出ません! 覚書スタート root権限で入り、現在のcronの設定を確認 $ su - root #crontab -l こんな画面が出てきます。 # crontab -l
次のページ
このページを最初にブックマークしてみませんか?
『とあるプログラマの備忘録』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く