Unityで二次元配列のJsonを読む
こんばんはー。
Unityのステージ内容を Yaml で作ろうと思っていました。
しかし、よく考えてみれば、Unity 公式でサポート(5.3から)されている、Json で十分じゃね?と思いました。ステージの内容は、次のようなJsonにしました。
1234567{ "version": 1, "stage": [ ["block1", 2, 4], ["block1", 4, 4] ]}
しかし、JsonUtilityでParseしても、うまくやってくれませんでした。
■配列のネストは1つまで
多次元配列、配列内配列(ジャグ配列)、配列のコレクション
…
Read More
UnityでYAMLをパースする
※ UnityYamlMerge のことではありません!
Unity で、2D ステージの内容を YAML で作って、それをパースする方法です。
yaml-net を入れるhttp://sourceforge.net/projects/yaml-net-parser/files/から、フォルダーをたどっていくと、snapshot.zip があるので、ダウンロードし、展開してください。
Code ディレクトリ内にある、「Yaml.dll」を、Unityの Assets/Plugins に突っ込みます。
スクリプトを追加新しいスクリプトを作成し、次のように書きます。
12345678using Y
…
Read More
Windowsへの「hub」コマンドのインストールでハマった
こんにちは。
hub コマンドを知ってますか。
git + hub = github とのことで、git コマンドを github 用に拡張したものです。
そのインストールでハマりました。
必要となるもの
Git (公式だと 1.7.3 or newer)
Go (公式だと 1.4 or better)
Cygwin、OpenSSH (SSHを登録するとき)
Vi、Vim とかの Cygwin 上でファイルを編集できるやつ
Github のアカウント
これらをインストールしておいてください。Cygwin は、alias の登録のほか、鍵を作るときに使いますので、OpenSSH のモジュールも
…
Read More
SceneManager.Unloadを、OnTriggerEnter時に呼ぶと凍る
こんにちは。昨夜、Unityがフリーズしてしまって、結構大変でした。
Unity 5.3.1です。
次のように実行すると、フリーズしました。
1234567void OnTriggerEnter2D(Collider2D col2d){ if (col2d.tag == "Player") { SceneManager.UnloadScene("MainMenu"); }}
なぜか、
SceneManager.LoadSceneではフリーズせず、
FixedUpdate、Updateのタイミングでやってもフリーズしない
…
Read More
RectTransformのoffsetMinとoffsetMaxについて
こんにちは。
Unity 4.6で、新しいUI Systemとして、「uGUI」が追加されました(結構前だけど)。
New UI System: Design UIs for your game or application using Unity’s powerful new component based UI framework and visual tools.
そのUIの座標の指定なのですが、Rect Transformというものを使っていて、結構複雑です。
ここでは、座標・サイズの指定ができるプロパティ、「offsetMin」「offsetMax」について調べたので、紹介します
…
Read More
pLinkでVagrantのBoxに入ろうとしたらエラーが出た
こんにちはー!Putty使ってますかー!!
Windowsでは、デフォルトでSSHクライアントがないので、ぼくはPuttyを使っています。
そこで、Puttyをコマンドプロンプトとかでそのまま使えないのかなぁと思っていたところ、
どうやら、Puttyについてる「Plink」を使えばできるそうです。
試しに、Vagrantでやってみます。
Vagrantで立ち上げたマシンに、pLinkで入ろう!仮想マシンを立ち上げておく12345678910111213$ vagrant up...==> default: Waiting for machine to boot. This may tak
…
Read More
Dockerで作ったコンテナーをcommitし、Docker hubに公開するまで
事前にログインアカウントが必要になります。
12$ docker login...(ユーザー名、パスワード、Eメールがきかれる)
コンテナーをコミット1$ docker commit [CONTAINER_ID] [ログインしたユーザー名]/[名前(なんでもいい)]
Imageをpush!123$ docker images...$ docker push [ログインしたユーザー名]/[名前(さっきの)]
忘れちゃうのでメモしておきます。
…
Read More
DockerでCentOSのコンテナを作ってgitを使うまで
Docker楽しいです!簡単にコンテナを作れて、開発環境の構築に便利です!
gitを選んだのは、簡単にインストールができるからです。
Dockerのバージョン12$ docker -vDocker version 1.9.1, build a34a1d5
まずCentOSのイメージをpullしてくる123456$ docker pull centosUsing default tag: latest...$ docker imagesREPOSITORY TAG IMAGE ID CREATED V
…
Read More
環境変数の編集に、「Rapid Environment Editor」を使っています
Windows での環境変数の編集に、
「Rapid Environment Editor」というアプリを使っています。
これがすごく便利です!
ダウンロード
便利なところ
Pathとかをセミコロンでつなぐのではなく、ノード表示をしてくれるからわかりやすい!
存在しないパスがあったら、赤く表示してくれる!
こんな感じです。
システム環境変数を編集するときは・・ただ単に実行すると、
左側、「システム環境変数」を編集できません。
画像の中にもありますが、「Restart as administor」をクリックすると、
アプリが再起動され、選択できるようになります。
…
Read More
Windows 10にしたけど不安定だから戻した【5回目まで】
追記:今はパソコンを買ったので、Windows 10 になっています。追記終
Windows 10 にしたいなぁ。
新しいデザインとか、Cortanaとか、通知センターとか、とにかくすべての新機能が、Windows ファンとして魅力です。
それで、アップグレードを何度もしていますが、何度も失敗しています。
今回もまたアップグレードし、失敗しました。これが5回目ですよ・・・。
今までの経緯
回数
日付
手段
結果
アップグレード自体は成功したか
1回目
2015/7/29
手動
×
○
2回目
2015/9
自動
×
○
3回目
2015/11
自動
×
×
4回目
20
…
Read More
WordPressでリンクをカードっぽく表示してくれる「Pz-LinkCard」がすごい便利!
追記: これはブログが WordPress だった時代の話です。今は Hexo なので、hatena blog card が使える独自プラグインを使用しています。それについても、追々記事を上げます。
参考になったサイトとかを「リンク」にして投稿するのですが、
もうちょっといいデザインないかなーと。
oEmbed連携とかあるけれど、対応しているサイトが少なかったりする中、
この、「Pz-LinkCard」を見つけました!!
はてなブログみたいなかんじです!
インストール方法WordPressの管理ページで、プラグイン→新規追加。
Pz-LinkCardで検索!
インストールして有効化。
試し
…
Read More
GulpでTaskに引数を使う
Gulpで、タスクをより便利にしたいとき、引数が使いたくなります。こんな感じです。
1$ gulp build --dev
これは、npmのモジュール、「minimist」を使うとできます。
1$ npm i minimist
js 側の実装は次の通りです。
123456789var minimist = require("minimist");gulp.task("build", function() { var env = minimist(process.argv.slice(2)); if (env.dev) { // --devが入っているとき
…
Read More
Visual Studio Code で便利なショートカット!
こんばんは。
Visual Studio Code 使ってますかー!!
GitとTypeScriptの補完をプラグインなしでやってくれて便利です!
さて、今回はよく使っているショートカットキーと
デフォルトにないけどよく使うショートカットキーを紹介します!
(ぼくはWindowsなのでCtrlになりますがMacだとCommandキーなのかな?)
デフォルトにあるショートカットキーCtrl + Shift + Pコマンドパレットを開きます。超便利です。
Ctrl + Tab (エディタで)workbench.action.quickOpenNavigateNext らしいです。
VSCodeには
…
Read More
【Unity】C# + SceneManagerでのMulti Scene Editing
読み込み1using UnityEngine.SceneManagement;
参考:
複数のシーンを読み込んでいる状態で・・1つのシーンをアンロードする1SceneManager.UnloadScene("シーン名");
シーン名は、Build SettingsのIDでもオーバーロードされる。ただし、読み込まれているシーン名、シーンIDに限る(あたりまえだけど・・)
1つのシーンをロードするここでハマった。
1SceneManager.LoadScene("シーン名", LoadSceneMode.Additive);
LoadSceneMode.Additiveを忘れない!
全部のシーンを
…
Read More
Input.GetKeyDownとFixedUpdateは一緒にしないほうがいいっぽい
Unityで2Dのスクロールゲームを作っています。スペースキーを押したとき、Jumpするように、次のようなコードを書きました。
1234567void FixedUpdate(){ if (Input.GetButtonDown("Jump")) { // 処理 }}
しかし、ジャンプするときと、しないときがあり、
Linecastの問題かと思ってググっていたところ、
を見つけました。
サイトによると、FixedUpdateではInput.GetKeyDownはしないほうがいいらしいです。
理由は、FixedUpdate
…
Read More
【Unity】Script上でのnew GameObject()の使い方
(Unity5.3.1で確認)
Unityで空のGameObjectを作って、シーンに追加したいとき、1Instantiate(new GameObject());
あれー!!なんか2つ作られてるー・・
そうです。実は上のコード、二重でゲームオブジェクトを作っているのです!
というわけで、解決策。
1new GameObject();
Instantiate()と書くことはできないので、new GameObject();とそのまま書いてみます。
これだけじゃ作るだけでコンポーネントのアタッチとか何もできないので、名前を変えてみます。
12GameObject g = new GameObje
…
Read More
なぜかUnityでtransform.Translateができなかった
なんでかわからないけどできなかった。
前は、Animatorでtransformを変えていたからできなかったれど、
今回は違った。
1gameObject.transform.Translate(10, 10, 0);
こんな感じになっていたコードを、
1234var vec3 = gameObject.transform.position;vec3.x += 10;vec3.y += 10;gameObject.transform.position = vec3;
こうしたらできた。
…
Read More
TypeScriptで、関数を型にする
Typescriptの型として、
「number」「string」「boolean」などとありますが、
実は、関数も型にできます!
1var function1:(arg1:number, arg2:string)=>boolean;
こんな感じ。
1(引数名:型, 引数名:型 .....)=>戻り値
戻り値がないときは、voidを指定できます。
どんなときにつかうの?コールバック引数を使いたい1234567function progressA(callback: (msg:string)=>void) { callback("hoge");}progr
…
Read More
Unity2D用のアニメーションするスプライト作った
(移動はjsにて)
Unity2Dのゲームを作っています。
その時に作ったキャラクターをアニメーションさせてみました!
初めてのアニメーションで、データ間違えたりとかして難しかったです。
ソフトは、Edgeを使わせていただきました。
画像はこちらです。
UnityでSliceしたとき、隣同士の画像の端っこが見えてしまうので、
1px間隔を開けています。
…
Read More
Huemanテーマで、トップページの日付の形式を変えたい
このサイトのトップページですが、
日付が、「日 月 年」になっています。
これでは、「2016年11月」と読めてしまいます。
なぜそうなるの?これは、このサイトのテーマ「Hueman」の設定のせいです。
早速直しましょう。
解決策テーマファイルを変更します。この変更は、テーマの更新によって消えてしまうので、
ずっと残したいときは、子テーマを利用しましょう。
子テーマの作り方は、こちらのサイトがわかりやすかったです。
content.phpを修正<?php the_time('j M, Y'); ?>となっているところを、<?php the_time('
…
Read More