Unity3D基础
鼠标事件:
OnMouseEnter():鼠标进入
OnMouseExit():鼠标移出
OnMouseDown():鼠标点击
OnMouseUp():鼠标抬起
static GameObject Instantiate() 克隆
static void Destroy()
位置 、 材料 、碰撞 、渲染
地形、预制、照相机、碰撞
using UnityEngine;
using System.Collections; public class shubiao : MonoBehaviour { // Use this for initialization
void Start () { } // Update is called once per frame
void Update () { }
//:鼠标进入
void OnMouseEnter(){ gameObject.renderer.material.color = Color.black;
} void OnMouseExit(){ gameObject.renderer.material.color = Color.blue;
}//:鼠标移出 void OnMouseDown(){
gameObject.renderer.material.color = Color.yellow;
}//:鼠标点击 void OnMouseUp()
{
gameObject.renderer.material.color = Color.red;
GameObject.Destroy (gameObject);
}//:鼠标抬起
}
GUI布局
using UnityEngine;
using System.Collections; public class GIU : MonoBehaviour {
private string str="张三";
private string str2="";
private bool sex=false;
private string _userName;
// Use this for initialization
void Start () { } // Update is called once per frame
void Update () { }
void OnGUI()
{
/*if (GUI.Button (new Rect (10, 10, 70, 20), "按钮")) {
print ("A") ;
}
if (GUI.RepeatButton (new Rect (10, 100, 70, 20), "按钮")) {
print ("B") ;
}
str=GUI.TextArea (new Rect (10, 20, 100, 20), str);
str2=GUI.PasswordField (new Rect (10, 150, 200, 20), str2, '*');
sex=GUI.Toggle(new Rect(10,100,50,50),sex,"男" );//check*/ GuI.Label(new Rect(,,,),"用户名");
_userName = GUI.TextArea (new Rect (, , , ), _userName); _sex = GUI.Toggle (new Rect (, , , ), _sex, "男");
_sex=GUI.Toggle(new Rect(,,,),!_sex,"女");
}
}
GUILayOut 布局
例一: private string str3="测试用的字符串"; //全局变量
GUILayout.Button ("GUILayout按钮");
if (GUILayout.Button (str3)) {
str3+=str3 ;
} if (GUI.Button (new Rect (, , , ), str)) {
str3+=str3;
}
例二: GUILayout.BeginHorizontal (); //水平排列
GUILayout.Button ("我是GUILayoutButton");
GUILayout.Button ("我是GUILayoutButton");
GUILayout.Button ("我是GUILayoutButton");
GUILayout.Button ("我是GUILayoutButton");
GUILayout.EndHorizontal ();
GUILayout.BeginVertical (); //纵向排列
GUILayout.Button ("我是GUILayoutButton");
GUILayout.Button ("我是GUILayoutButton");
GUILayout.Button ("我是GUILayoutButton");
GUILayout.Button ("我是GUILayoutButton");
GUILayout.EndVertical();
移动w 键 A键 S键 D键 :
using UnityEngine;
using System.Collections; public class fouth : MonoBehaviour {//右边是 Z 轴,上边是y轴,X轴看不见的状态;
GameObject go;
// Use this for initialization
void Start () {
go=GameObject.Find("Cube3");
go.renderer.material.color = Color.red;
} // Update is called once per frame
void Update () {
if (Input.GetKey (KeyCode.W)) {
go.transform.Translate(-*Time.deltaTime,,,Space.Self);
}
if (Input.GetKey (KeyCode.S)) {
go.transform.Translate(*Time.deltaTime,,,Space.Self);
}
if (Input.GetKey (KeyCode.A)) {
go.transform.Translate(,,-*Time.deltaTime,Space.Self);
}
if (Input.GetKey (KeyCode.D)) {
go.transform.Translate(,,*Time.deltaTime,Space.Self);
}
}
}
旋转:
using UnityEngine;
using System.Collections; public class NewBehaviourScript : MonoBehaviour { // Use this for initialization
void Start () { } // Update is called once per frame
void Update () {//旋转
gameObject.transform.Rotate (, * Time.deltaTime, , Space.Self);
}
}
碰撞:
void OnCollisionEnter(Collision co)
{
co.gameObject.renderer.material.color = Color.blue;
}
预制(克隆):
void Update () {
if (Input.GetKeyUp (KeyCode.Space)) {
GameObject.Instantiate(go,gameObject.transform.position,gameObject.transform.rotation);
}
}
void Update () {
if (Input.GetKey (KeyCode.LeftShift)) {
if (Input.GetKey (KeyCode.LeftShift)) {
gameObject.animation.Play ("run");
gameObject.transform.transform(Vector3.forward*Time.deltaTime*); //朝前移动 距离 速度
} else {
gameObject.animation.Play ("walk");
gameObject.transform.transform(Vector3.forward*Time.deltaTime*); //朝前移动 距离 速度
}
}
else {
gameObject.animation.Play("stand");
gameObject.transform.transform(Vector3.forward*Time.deltaTime*); //朝前移动 距离 速度
}
}
阴影烘焙:对灯设置 有阴影,对要烘焙的设置静止,打开 windows 点 light烘焙 back ;
动画剪辑:暂无
c#控制动画:
Application
切换场景
if (Input.GetKeyDown (KeyCode.A)) {
Application.LoadLevel();
}
截屏
if (Input.GetKeyDown (KeyCode.Space)) {
Application.CaptureScreenshot(@"c:\1.png")
}
打开一个网址
Application.OpenURL("H");//打开一个网址
退出:
Application.Quit();//退出
左击 游戏对象消失
if(Input.GetMouseButtonDown()) //如果 按到 左击
{
Ray ray=camera.main.ScreenPointToRay(Input.mousePosition);//拿到点击的位置
RaycastHit hitInfo;
if(Physics.Raycast(ray,out hitInfo))//点击到
{
Destroy (hitInfo.collider.gameObject); //销毁游戏对象
}
}
Unity3D基础的更多相关文章
- 【Unity3D基础教程】给初学者看的Unity教程(四):通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 在第一篇文章[Unity3D基础教程] ...
- 【Unity3D基础】让物体动起来①--UGUI鼠标点击移动
背景 首先还是先声明自己是比较笨的一个人,总是找不到高效的学习方法,目前自己学习Unity3D的方式主要是两种,一种是直接看高质量的源码,另一种是光看不行还要自己动手,自己写一些有代表性的小程序,这也 ...
- 【Unity3D基础教程】给初学者看的Unity教程(零):如何学习Unity3D
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! Unity3D有什么优势 Unity3D是一个跨 ...
- Unity3D基础知识梳理
这段时间在做Unity的项目,这差不多是我的第一次实战啊~然后公司来了实习的童鞋要学Unity,但是我一向不靠谱啊,所以只能帮他们稍微梳理下基础的东西了啊,唉~学长只能帮你们到这里了~顺便就把自己这两 ...
- 【Unity3D基础教程】给初学者看的Unity教程(五):详解Unity3D中的协程(Coroutine)
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 为什么需要协程 在游戏中有许多过程(Proc ...
- 【Unity3D基础】让物体动起来②--UGUI鼠标点击逐帧移动
背景 上一篇通过鼠标移动的代码很简单,所以看的人也不多,但是还是要感谢“武装三藏”在博客园给出的评论和支持,希望他也能看到第二篇,其实可以很简单,而且是精灵自控制,关键是代码少是我喜欢的方式,也再次印 ...
- 【Unity3D基础教程】给初学者看的Unity教程(一):GameObject,Compoent,Time,Input,Physics
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! Unity3D重要模块的类图 最近刚刚完成了一 ...
- unity3d基础02
调试: 在MonoDevelop里可以断点调试,注意绑定unity进程 使用Debug.Log()打印信息 创建游戏对象: GameObject test = GameObject.CreatePri ...
- unity3d基础01
Unity3d 五大视图: 1 Scene:存放hierarchy中创建的游戏对象,但实际只能看到一部分 *Scene浏览: ①右键进入“飞行模式”,方便查看整个场景 ②选中摄像机,按ALT进入浏览的 ...
- 【Unity3D基础教程】给初学者看的Unity教程(七):在Unity中构建健壮的单例模式(Singleton)
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! 该博客中的代码均出自我的开源项目 : 迷你微信 ...
随机推荐
- 【Oracle】ORA-38171: Insufficient privileges for SQL management object operation
问题: 使用SQL PLAN MANAGEMENT的时候运行下面的存储过程报错. SYS@GOOD> conn scott/tiger Connected. SCOTT@GOOD> DEC ...
- Hoj_平方和与立方和
平方和与立方和 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- 谷歌C++编程为何禁止缺省参数
C++的缺省参数尽量不要使用,结果可能出乎我们的意料,下面的程序大家看看输出结果是多少? ) cout << num << endl; ...
- Rx (Reactive Extensions)介绍
Reactive Extensions (Rx) 原来是由微软提出的一个综合了异步和基于事件驱动编程的库包,使用可观察序列和LINQ-style查询操作. 使用Rx, 开发者可以用Observable ...
- sql语句参数化问题
select @PageSize * from tets SELECT 在WHERE 之前都不能参数化. TOP 只能做字符串运行.
- JS 从36个数字里面随机抽取8个
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- BZOJ 3940: [Usaco2015 Feb]Censoring AC自动机_栈
Description Farmer John has purchased a subscription to Good Hooveskeeping magazine for his cows, so ...
- 路飞学城Python-Day141
什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程. 爬虫的目的就是为了模拟浏览器进行网络数据访问 抓取数据的两种方式 ...
- PHP 使用 Kafka 安装拾遗
最近项目开发中需要使用 Kafka 消息队列.经过检索,PHP下面有通用的两种方式来调用 Kafka . php-rdkafka 扩展 以 PHP 扩展的形式进行使用是非常高效的.另外,该项目也提供了 ...
- python第五周:模块、标准库
模块相关知识: 定义:用来从逻辑上组织python代码(变量.函数.类.逻辑:实现一个功能)本质就是以.py结尾的python文件(文件名:test.py,对应的模块名:test) 附注:包:是用来从 ...