2016年11月18日 星期五

物件導向C# - 3DUnity




using UnityEngine;
using System.Collections;

public class TransformFunctions : MonoBehaviour
{
public float moveSpeed = 100000000*10f;
public float turnSpeed = 100*50f;


void Update ()
{
if(Input.GetKey(KeyCode.UpArrow))
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);

if(Input.GetKey(KeyCode.DownArrow))
transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);

if(Input.GetKey(KeyCode.LeftArrow))
transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);

if(Input.GetKey(KeyCode.RightArrow))
transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
}
}


2016年11月10日 星期四

物件導向C# - 3D的Unity遊戲 2 (第一人稱球體移動)

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {
public GameObject obj_Player;
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update ()
{

obj_Player = GameObject.Find("Sphere");
if (Input.GetKeyDown (KeyCode.A)) {
obj_Player.transform.position += new Vector3 (-1.0f, 0, 0);
} else if (Input.GetKeyDown (KeyCode.D)) {
obj_Player.transform.position += new Vector3 (1.0f, 0, 0);
} else if (Input.GetKeyDown (KeyCode.W)) {
obj_Player.transform.position += new Vector3 (0, 0, 1.0f);
} else if (Input.GetKeyDown (KeyCode.S)) {
obj_Player.transform.position += new Vector3 (0, 0, -1.0f);
}
}
}

改變球、正方體與地板的材質



 執行後,以第一人稱(球)進行前後左右的移動



2016年11月4日 星期五

物件導向C# - 3D的Unity遊戲

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {
public GameObject obj_Player;
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update ()
{

obj_Player = GameObject.Find("Sphere");
if (Input.GetKeyDown (KeyCode.A)) {
obj_Player.transform.position += new Vector3 (-1.0f, 0, 0);
} else if (Input.GetKeyDown (KeyCode.D)) {
obj_Player.transform.position += new Vector3 (1.0f, 0, 0);
} else if (Input.GetKeyDown (KeyCode.W)) {
obj_Player.transform.position += new Vector3 (0, 0, 1.0f);
} else if (Input.GetKeyDown (KeyCode.S)) {
obj_Player.transform.position += new Vector3 (0, 0, -1.0f);
}
}
}


按鍵盤WASD鍵,可控制球體移動。


物件導向C# - 學習Slider 的用法




using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
using System.Linq;
using System.Collections.Generic;

public class NewBehaviourScript : MonoBehaviour {

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}

public void myfun()
{
float rnum=0;
float gnum=0;
float bnum=0;
rnum=GameObject.Find("Slider").GetComponent<Slider>().value;
gnum=GameObject.Find("Slider1").GetComponent<Slider>().value;
bnum=GameObject.Find("Slider2").GetComponent<Slider>().value;
Text mytxt=GameObject.Find("Text").GetComponent<Text>();
Text mytxt1=GameObject.Find("Text1").GetComponent<Text>();
Text mytxt2=GameObject.Find("Text2").GetComponent<Text>();
mytxt.text =rnum.ToString();
mytxt1.text =gnum.ToString();
mytxt2.text =bnum.ToString();
Image img = GameObject.Find ("Image").GetComponent<Image> ();
Image img1 = GameObject.Find ("Image1").GetComponent<Image> ();
Image img2 = GameObject.Find ("Image2").GetComponent<Image> ();
Image img3 = GameObject.Find ("Image3").GetComponent<Image> ();
img.color = new Color(rnum, 0.0F, 0.0F, 1.0F); // (紅red,綠green,藍blue,透明)
img1.color = new Color(0.0F, gnum, 0.0F, 1.0F);
img2.color = new Color(0.0F, 0.0F, bnum, 1.0F);
img3.color = new Color(rnum, gnum, bnum, 1.0F);
}
}