UnityのLoadSceneAsyncでの非同期処理
こんにちはー!!
Unity 5.3 から、Multi Scene Editing が追加されましたね。
そこで、シーンを読み込んでから、GameObject.Find をする、次のようなコードを動かしたのですが、うまくいきません。
TestGameObject は、追加するシーン Scene2 に入っているものとします。
12345void LoadScene2(){ SceneManager.LoadScene("Scene2", LoadSceneMode.Additive); Debug.Log(GameObject.Find("TestGameObject"))
…
Read More
Cities: Skylines がセールだったから買ってみた
やっとクリスマスプレゼントが買えました!!Cities: Skylines です。
Steam で、旧正月セールが行われています。Cities: Skylinesも、60%Off で売られていたので、買いました。
なぜクリスマスプレゼントがこんなに遅いのかというと、クリスマスに、何を買うか迷っていて、やっと「よし、買おう!」と決心したところ、なんと、セールが終わってしまいました・・。
そのあと、価格が再び下がるのを待っていたら、ついにきました!!
これはポチるしかない。
というわけで、早速プレイしてみました。
重い!!僕の環境では、初期設定では非常に重い状態でした。
とりあえずよくわからないの
…
Read More
UnityでResourcesにあるTextFileを読む
System.IOでFileStream作って・・とかやって、互換性とか難しいのかな・・と思ったら、楽勝でした。TextAssetを使います。
12345void LoadText() { string textfile = "helloworld"; TextAsset tAsset = Resources.Load<TextAsset>(textfile); Debug.Log(tAsset.text);}
TextAssetのtextプロパティで取得できます。
…
Read More
TypeScriptの複雑な型
こんにちはー!!TypeScriptには、名前の通り、「型」があります。その中で、複雑な型もあるので、紹介したいと思います。
配列2つの定義の方法があります。
123456var numArray: number[] = [0, 1, 3, 5, 10, 100, 42];var numArray2: Array<number> = [0, 42];// これも上と同じconsole.log(typeof numArray); // objectconsole.log(numArray instanceof Array); // true
連想配列知らなかった!いままでは Obje
…
Read More
Unityで、コンポーネント内のフィールドを文字列から動的に変更する
こんにちはー!!
Json からUnity2dのステージのデータを取ろうとしています。その時、コンポーネントの値を変えたいと思い、この方法をやりました。Reflectionを使ったりして、結構複雑でした。
ReflectionTest コンポーネントの内容は次のようにします。
これを、GameObject1 にアタッチすればできます。
安全性は・・しかし、コンポーネント内すべてのフィールドにアクセスできるのはちょっとセキュリティが・・・なので、特定の属性(ここではPermitReflection)がついたフィールドのみにアクセスできるようにします。
Reflectionに使ったしたコー
…
Read More
Webpackで、CSS、Lessをロードする
こんにちはー!
Webpack、知っていますか。require() などでできた、ファイルの依存関係を、簡単にしてくれます!Browserify に似ていますが、Webpack はスタイルシート、JSON、画像なども一緒にできます!
CSSを読むというわけで、スタイルシートをロードしましょう!うまくいかない場合は、このリポジトリを見てください。
まず、フォルダー内で、次のコマンドを打ってください。
1$ npm i --save-dev webpack
次に、css を読む、loaderを追加します。その時、css-loader のほかに、style-loader を入れます!ここでハマった・
…
Read More
【感動】VSCodeのTypeScriptで、「Find Usages」相当の機能が使えた!
ここで書いたように、VSCodeでは、TypeScriptで「Find Usages」という、WebStormとかで、変数、関数などがどこで使用できるかをプロジェクト内で検索し、表示してくれる機能がないと思っていました。
しかし、ありました!!!
VSCodeでは、Find All References というらしいです。
検索したい変数、関数などにカーソルを置き、Shift + F12 !もしくは、右クリック→「 Find All References 」でもできます。
似ている機能で「Peek Definition」という、定義を吹き出しで表示してくれるものがあります。こちらのショート
…
Read More
【TypeScript】引数が違うメソッド同士をオーバーロード
TypeScriptで、次のようなオーバーロードをしたかったです。
12345678910function test(num: number, x: number, y: number): void; // 1function test(num: number, pos: number[]): void; // 2function test(num: number, pos?: number[], x?:number, y?: number): void { if (typeof x !== "undefined") { // 1のとき } else i
…
Read More
NetBeansで「fontconfig.properties」があるJDKの場所
こちらのサイトを参考に、fontconfig.properties を編集して、日本語フォントはメイリオ、英語は Consolas にしようとしていました。
しかし、僕の環境では、なぜかjdkがいくつも入っていて、どれを変えたらいいのかわかりませんでした。
netbeans.confに書かれていた!NetBeansで使っているJdkのインストール先は、netbeans.confに書かれていました。netbeans.confは、(NetBeansのインストール先)/etc フォルダにあります。僕の環境では、C:\Program Files\NetBeans 8.1\etc にありました。次のよ
…
Read More
TypeScriptのIDEをNetBeansにした
こんにちはー。TypeScript、使っていますか?
今まで、Visual Studio Code を、エディタとして使っていましたが、作っていたアプリが大きくなってきたので、NetBeansを使うことにしました!
TypeScript Editorプラグインを入れるデフォルトでは TypeScript は使えないので、プラグインを入れましょう!
https://github.com/Everlaw/nbts/releasesから、「XXX.nbm」の最新版をダウンロードしましょう。
メニューバーの、ツールからプラグインを開きます。
ダウンロード済み タブを開く
プラグインの追加で、ダウンロ
…
Read More
【Intel HD Graphics】外部ディスプレイがちらつく
Intel HD Graphics 4000です。外部ディスプレイで、スクロールしたりすると、画面がちらつくような感じになります。
解決策デスクトップの何もないところを右クリック → 画面の解像度詳細設定をクリック
インテル(R) グラフィック/メディア・コントロール・パネル タブを開いて、ディスプレイを、内蔵ディスプレイじゃない方、リフレッシュレートを、59i Hzから、59p Hzにして、適用する
これでできました!
…
Read More
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