なんでかわからないけどできなかった。
前は、Animatorでtransformを変えていたからできなかったれど、
今回は違った。
gameObject.transform.Translate(10, 10, 0);
こんな感じになっていたコードを、
var vec3 = gameObject.transform.position; vec3.x += 10; vec3.y += 10; gameObject.transform.position = vec3;
こうしたらできた。
なんでかわからないけどできなかった。
前は、Animatorでtransformを変えていたからできなかったれど、
今回は違った。
gameObject.transform.Translate(10, 10, 0);
こんな感じになっていたコードを、
var vec3 = gameObject.transform.position; vec3.x += 10; vec3.y += 10; gameObject.transform.position = vec3;
こうしたらできた。
Typescriptの型として、
「number」「string」「boolean」などとありますが、
実は、関数も型にできます!
var function1:(arg1:number, arg2:string)=>boolean;
こんな感じ。
(引数名:型, 引数名:型 .....)=>戻り値
戻り値がないときは、void
を指定できます。
コールバック引数を使いたい
function progressA(callback: (msg:string)=>void) { callback("hoge"); } progressA((msg) => { console.log(msg); });
関数を配列とする
var fnArray:Array<(msg:string)=>void> = []; fnArray.push((msg) => { alert(msg); }); fnArray.push((msg) => { console.log(msg); }); fnArray.forEach(i => { // 関数だから呼び出せる i("Hello, TypeScript!"); });
lib.d.tsを見てみると、
addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void;
引数listener
の型にも使われています!
TypeScript楽しい!奥深い!
このサイトのトップページですが、
日付が、「日 月 年」になっています。
これでは、「2016年11月」と読めてしまいます。
これは、このサイトのテーマ「Hueman」の設定のせいです。
早速直しましょう。
テーマファイルを変更します。この変更は、テーマの更新によって消えてしまうので、
ずっと残したいときは、子テーマを利用しましょう。
子テーマの作り方は、こちらのサイトがわかりやすかったです。
<?php the_time('j M, Y'); ?>
となっているところを、
<?php the_time('Y年n月j日'); ?>
に変更します。
変更すると、次のようになります。
<div class="post-meta group"> <p class="post-category"><?php the_category(' / '); ?></p> <p class="post-date"><?php the_time('Y年n月j日'); ?></p> </div><!--/.post-meta-->
先ほどの編集で、一番新しい記事以外は直りました。
content-featured.phpも同じように、<?php the_time('j M, Y'); ?>
の部分を変更します。
変更すると、次のようになります。
<div class="post-meta group"> <p class="post-category"><?php the_category(' / '); ?></p> <p class="post-date"><?php the_time('Y年n月j日'); ?></p> </div><!--/.post-meta-->
これで直りました!
まさにドンピシャでした!ありがとうございます!!
このようになっているコード。
() => {
の、>
の部分が見事に>
になってしまうんです。
そんなときは、次のように書きましょう。
ポイントは、‘‘‘と書いていたところを、divタグとショートコードで書くところです。
これで解決!budougumiさんありがとうございます。
C#で、重い処理をしているときなどに、マルチスレッドで、
別タスクからUIをさわりたいときがあるのですが、エラーが出てしまいます。
そんなときは、`Task
using System.Threading.Tasks; // 省略 async void Main() { var heavyResult = await runTask(); // 1. label1.Text = heavyResult; } async Task<string> runTask() { await Task.Delay(1000); // 2. return "hogehoge"; // 3. }
番号はコード内のコメントの番号と対応しています。
別タスクで処理を行っているため、1秒待っている間も、UIは応答します。
別の関数に分けなくてもできます。
using System.Threading.Tasks; // 省略 async void Main() { var result = await Task.Run(async () => { await Task.Delay(1000); return "hogehoge"; }); label1.Text = result; }
繰り返し行うときは、一回一回、別のタスクとして実行します。
次の例は、1秒経って hogehoge
と表示し、さらに1秒後に fugafuga
と表示します。
using System.Threading.Tasks; // 省略 async void Main() { label1.Text = await Task.Run(async () => { await Task.Delay(1000); return "hogehoge"; }); label1.Text = await Task.Run(async () => { await Task.Delay(1000); return "fugafuga"; }); }
応用して、「何% 完了しました」のような処理もできます。
using System.Threading.Tasks; // 省略 async void Main() { for (var i = 0; i < 100; i++) { label1.Text = await progress(i); } } async Task<string> progress(int percent) { await Task.Delay(100); // 何らかの処理 return $"{percent}% 完了しました"; }
追記
Qiitaで、NetSeedさんに教えていただきました。
ということだったので、変更しました。
Raycastの練習として、やってみました。
ほかの取り方もあるかもしれません。
Vector3 pos = new Vector3(/* 好きな値 */); RaycastHit2D hit = Physics2D.Raycast(pos, new Vector3(0, 0, 1), 100); // 可視化 Debug.DrawRay(pos, new Vector3(0, 0, 100), Color.blue, 1); // コンソールにhitしたGameObjectを出力 Debug.Log(hit.collider);
このhit.collider
でGameObjectを取れます。
このやり方だと、遠回りになるかもしれませんが、
マウス座標からとるのも簡単です!
上のコードの最初の行を、次のように変えるとできます。
Vector3 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
簡単な記法で、アニメーションをすることができます。
中では、transition-delayとかを使っているようです。
bower i move.js
中でonload時にdocument.bodyを呼び出しているので、
普通にscriptタグで読み込んでもエラーが出てしまいます。
次のように読み込みましょう!
まず構文。
move("クエリ")/*..... アニメーション処理 */.end();
move()
からend()
の間に処理を書くわけです。
処理は、公式サイトにたくさん書いてあります。
ここでは一部を紹介します。
.set("CSSプロパティ名", 値)
例:
move("div.box") .set("opacity", 0) .end();
.duration("秒数")
例:
move("div.box") .set("opacity", 0) .duration("1s"); .end();
.translate(x, y)
例:
move("div.box") .translate(100, 80) .duration("0.5s") .end();
.then()/* 処理 */.pop()
例:
move("div.box") .translate(100, 80) .then() .set("opacity", 0) .pop() .end();
例では、移動をしてから、opacityを0に指定します。
便利なので、使ってみてください!
こちらのサイトを参考にしました。
キャラクターがかわいい!!
上のブログの通りで、
Assets ビューでSpriteを選択したとき、
Filter ModeをBilinearからPoint (no filter)に変えます。
ありがとうございます!