kuronekodev’s diary

Unityのことについてあげていきます!

入門0

超〜〜〜〜〜久しぶりに書きます!

 

今回はunity初心者が超初心者に向けて書いていきます!

*しってる人にはなんだそんなことってことを書いていきます

 

****まずオブジェクトをうごかすには****

 

transform.position = new Vector3 (/*移動したいとこ*/);

で移動したいところに瞬間移動します。

また

transform.position += new Vector3 (/*移動させたい量?*/);

で1回呼ばれるたびに自身の場所+移動させたい方向分進みます。

 

ここで豆知識ーーー

移動させたい方向をフツーに移動させたい方向に値をいれてUpdate(){}に入れるとすんごい行ってしまいます。(理由は毎フレーム通るから)

そこで(/*移動させたい量?*/)*time.delttime;をすることで1秒で移動させたい方向分すすむようになりす!

 

他にも発展系?として

Rigitbodyを使うやり方があります!

Rigidbody rigit =GetComponent<Rigidbody> ();
rigit.velocity = new Vector3 (0, 10, 0);

こんなかんじでRigitbodyの付いているオブジェクトからコンポーネントをとってきてvelocityで力を加えます!

この書いてあるぶんでは上に力を10加えてます。

他にもRigitbodyはAddとかなんとかあるんですがその辺はまた後ほど、、笑

 

今後は一旦初歩的なことをかいていきます!

 

Destroy()について

だいぶ更新が遅れてしまいましてすみません!

私用でばたばたしてました。

今回はDestroy()についてです!

 

まずこのDestroyはUnityでデフォである関数でオブジェクトないしコンポーネントを消すことができます!

 

使い方は簡単!!!

Destroy(消したいモノ)で消すことができます。

具体的にどうやって消すのか、幾つか紹介します!

 

//これで自身が付いているオブジェクト(子オブジェクトも含む)をけすことができます!

Destroy(gameObject);

 

//これで自身(スクリプト)を消すことができます!

Destroy(this);

 

//-----------ここからは少しだけ応用--------------------

 

//こうすれば自分についてる子オブジェクトを見つけてそれを消すことができます!

GameObject ChildObj = transform.FindChild("Obj").gameObject;
Destroy(ChildObj);

 

//こんな感じで特定のコンポーネントも取得して消すことが可能です!

SpriteRenderer SpRen = GetComponent<SpriteRenderer>();
Destroy(SpRen);

 

Destroyは簡単にオブジェクトを消すことができます!
しかしあんまりオブジェクトを出したり消したりを繰り返しすぎると処理がおもくなってしまうのでご注意を!

 

 

書くだけで呼び出される関数について

今回はUnityで書くだけで呼ばれる関数についてのメモになります

Unityでc#スクリプトを作るとこうなっているはず

f:id:kuronekodev:20150526122134p:plain

 

上にこれを使うよって書いてあってその下に継承したクラスを作るよ〜て書いてあります。

で今回はその下!

 

void Start(){}とかvoid Update(){}とかについてです!

しかしまあこれといってないです笑

 

void Start():Sceneが始まった時に一回だけ呼ばれるものです!

だからここに初期化とか指定とかをしたりします。

 

void Update():毎フレーム呼ばれるものです!

なんでここが処理したい内容とかを主に書いていくところです。

 

最初から書いてあるのはこの二つなんですけどじつはもっと書くだけで使えるものがあります!

 

void Awake():これも一回だけ呼ばれるものです。

void Startよりも早くよばれます。

 

void OnEnable() :SetActiveがTrueになるタイミングで一回呼ばれます。最初にFalseになっていなければStart()同様一回呼ばれます。

 

void FixedUpdate():これは物理シュミレーター進行毎に呼ばれるらしいです!笑

これは私は使わないのでわかんないです笑

 

まあ、その他にもあたり判定だったり色々書くだけで呼ばれる関数があります!

また後々記述しますね!

PlayerPrefsについて

UnityのPlayerPrefsについてメモを乗せます!

なんでいきなりこれなのかというと今までのメモのなかで一番まとまっていたからです笑

 

まずPlayerPrefsとは何かと言いますとUnityでセーブやロードが行える機能です。

使い方は簡単

//セット方法 

//↓のhogeは変数名なんでもいいですまたhogehogeも値を記憶させるキーの名前なのでなんでも結構です

string hoge = "hogehoge";

 

//第一引数 キー名

//第二引数 保存しておきたい値

PlayerPrefs.SetInt(hoge,1);

//↑でhogehogeというキーに1という数値を入れました

 

//取得方法

//第一引数 キー名

//第二引数 値が入ってなかった時に入る値

int Num = PlayerPrefs.GetInt(hoge,0);

 

//Num = 1となる

PlayerPrefsはInt型Float型Sting型に対応しています。

上記ではIntしか書いていませんがSetFloatやGetFloat SetStringやGetStringでできます!

 

使ったことはありませんがキーの中の値を削除する方法です!

PlayerPrefs.DeleteAll();

これで全てのキーを削除するらしい。

PlayerPrefs.DeleteKey(hoge);

これで指定したキーの値を消せるらしい!!

 

とまあこんなかんじです!

ゲームに必要不可欠なセーブとロードは超簡単にできます!

 

こんな感じでUnityに関しての云々をあげていきたいと思います!

プロフ紹介

現在Google Playさんでアプリを出させていただいてます黒猫です

現在専門学校2年生です

Unityを触り始めてというかプログラムを始めて1年になります!

 

 

〜ちょっと宣伝〜

現在公開中のアプリ

 

カラチェン - Google Play の Android アプリ

 

Block Broken - Google Play の Android アプリ

 

絶賛(?)公開中です!

 

ブログ始めました!

ブログを始めようと思います!

ここではUnityの初歩的なことから自分で作ったプログラム等々を乗せたり自分で作ったアプリなどを宣伝していきたいと思います。

理由は自分同様Unityの基本的なことで困っている人に少しでも協力できたらな〜というのとアプリを多くの人にやってもらいたいと思ったからです!

まだまだ自分も未熟なもので間違ったことを書いていたら教えて欲しいです。

 

では今日から週一以上はなんらかあげたいとおもいます!!