スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[ --/--/-- --:-- ] スポンサー広告 | トラックバック(-) | コメント(-)

Unity入門 続き 

全26回中13回まで行っていたので、残りも進めていきます。
段々、実践的な内容が増えてきて嬉しい限り。
Prefabの動的生成やシーン遷移はゲーム作る際に必須だと思うので覚えて行きます。
ちなみに動画のスクリプトはJavaScriptですが、C#に書き換えてやっています。
とりあえず23回まで進んだので明日には何かできるはず。


<C#でそのまま出来なかった事>
・transform.position.z += 0.1f;が出来ない
 - private変数へのアクセスになると思われるので、Translate関数を使う。
 - vectorの代入はtransform.position += new Vector3(0,0,0.1);とすれば可能
・コリジョン定義関数
 - private void OnCollisionEnter(Collision collision)になる
・GUIテキスト関数定義
 - void OnGUI ()
・GUIラベル設定のRectにはnewが必要(というか基本的にVector3含めオブジェクトはnewで生成する必要がある)
 - GUI.Label (new Rect(10, 10, 200, 50), "Game Over", m_Style);

<自分用メモ>
・オブジェクト生成
 public GameObject m_Ball; ←Publicで作ってInspector上でオブジェクトを入れる
 Instantiate (m_Ball, transform.position, transform.rotation); ←これで生成
・GUIテキスト挿入
 public GUIStyle m_Style; ←Inspector上でフォントサイズ等設定する。
 void OnGUI () {
  GUI.Label (new Rect(10, 10, 200, 50), "Game Over", m_Style);
 }
・シーンの遷移
 [File]->[Build Settings...]でシーンを追加する必要有り。
 ※ここでの順番を間違えないように、MainとGameOverならMainが上に来るように。
 Application.LoadLevel("シーン名");
・フレーム数のカウンター
 Time.frameCount
・ランダム値取得
 Random.Range(-5.0f, 5.0f)
・ポジション移動での挙動の違い
 transform.position -= new Vector3(0.0f,0.0f,0.2f);
 transform.Translate(0.0f,0.0f,-0.2f);
 同じに見えるけど、前者は位置情報に直接入れているけど、後者は行列を掛けているっぽい?
 回転を入れると挙動が変わるので、ちょっと微妙な感じ。
 問題はRotateとTranslateの順番に関係なく挙動が変わるのでposition -=を選ばされる事。

スポンサーサイト

[ 2013/11/20 23:59 ] unity | TB(0) | CM(0)
コメントの投稿














管理者にだけ表示を許可する
プロフィール

poro

  • Author:poro
  • プログラマやってる人です。
    絵とかも好きだったり、
    何か作りたいとか最近考えているらしい。
ブロとも申請フォーム


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。