LotosLabo

プログラミング技術とか気になった情報を載せていきます

Unity C#基本コード

Unityとは

Unity は、WindowsOS X 上で動作する統合型のゲーム開発環境。様々なプラットフォームに対応しています。ゲームエンジンの1つです。

Unity
Unreal Engine
CryEngine
cocos2d-x
playground

などいろいろあります。

Unityインストール方法

公式よりインストールしてください
http://japan.unity3d.com/




プロジェクト作成方法

Fileタブより、New Projectをクリックして新しいプロジェクトを作成できます。
またSceneを作ることで場面を分けて作ることが出来ます。

アプリケーションの作り方

ここでは軽くしか説明しませんので、もっと詳しく説明しているサイトがネットにはいっぱいあるのでそちらを参考にしてください。

オブジェクトを配置 → コードをアタッチ

という感じでオブジェクトの動きなどをコードで書いていきます。

コードの作成


UnityではデフォルトでMonoDevelopというエディタが用意されています。とても使いやすくこのエディタのまま使ってもいいのですが、C#を使うなら日本語のVisual Studioを使いたいという方もいますのでそっちを使っても大丈夫です。

f:id:lo25131:20140128115048j:plain


コードの基本構成

C#の初期構成はこのような形になっています。

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {
// Use this for initialization
void Start () {	
}
// Update is called once per frame
void Update () {
}
}



public class スクリプトの名前{
処理


②ゲームが始まった時の最初の処理
void Start() {
処理


③フレームごとの処理
void Update() {
処理

となっています。

基本的な処理一覧

アプリケーションの終了

Application.Quit();



画面遷移

Application.LoadLevel("シーン名");



時間の経過を止める、停止

Time.timeScale = 0; 停止
Time.timeScale = 1; 再生



キー入力

if (Input.GetKey("escape")){
Apllication.Quit();
}



SEの再生

Unity上でオブジェクトを作成し、AudioSourceを変数として格納

public  AudioSource clip1;

再生
clip1.Play();

停止
clip1.Stop();


変数の指定

public classの真下に

public   GameObject 変数名;

例:
public  GameObject  obj1;
public  float    x  =  3;
public   int   y   ;
public   AudioSource   clip;

int  a = 1;
float  x1 =  34.4f;
var  r  =  a+b



メソッドの呼び出し

同じオブジェクト内だけ呼び出せる

void Test(){
 Debug.Log("test");
}

Test();



オブジェクトの表示・非表示

変数名.SetActive(true);   表示
変数名.SetActtive(false);    非表示



オブジェクトの回転

public float  rotSpeed  =  90f;

transform.Rotate(Vector3.up * rotSpeed * TIme.deltaTime);

transform.Rotate 回転

Vector3.up
Vector3.left
Vector3.right
Vector3.forward

それぞれの方向に回転



乱数宣言

int a = 1;
int b = 2;
var r = Random.Range(a,b+1);

+1することで被らないようにする



if文

if ( a == 1)
{
処理
}
else if (b == 1)
{
処理
}


複数の条件の場合
a == 1 && b == 1
a == 1 || b == 1


オブジェクトの生成、複製

Quaternion quat = Quaternion.Euler(270,90,0);

クォータニオンをオイラー角に変換

Instantiate(変数名,new Vetor3(x,y,z),quat);

例:
Instantiate(obj1,new Vetor3(30.10f , 40.3409f , 3204.03f ),quat);

xとyとzに値を指定して生成させる



プログラム自体の停止・開始

enabled = true;  開始
enabled = false; 停止