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/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! 该博客中的代码均出自我的开源项目 : 迷你微信 ...
随机推荐
- String[]转化暴露“思维误区”
那天写code,用到这个,强转,将页面传来的值转换为数组,结果是,当页面传来的只有一个值时,它是无法转换为数组的,只能获得1个string,只有length>1时才会转化为数组的形式,报的错误是 ...
- 继承&封装
扩展一个已有的类,并且继承该类的属性和行为这种方式成为继承. 实例 public class Polygon { public int sides; public double area; publi ...
- 2017/01/07 学习笔记 jar包,maven
① 关于tar,jar,war文件 tar是通用的另一种打包格式,为了部署到服务器时方便. jar是java app server识别的java部署格式,其实是Zip文件,只是内部的文件有规范. wa ...
- Angular ocLazyLoad 与ui-router的配合使用
1.resolve state(配置路由时)的resolve参数: resolve:object,将会被注入controller去执行的函数,<string,function>形式. 基于 ...
- (转) RabbitMQ学习之发布/订阅(java)
http://blog.csdn.net/zhu_tianwei/article/details/40887733 参考:http://blog.csdn.NET/lmj623565791/artic ...
- jQuery 插入元素
在被选元素的内部 prepend() 方法在被选元素的开头(仍位于内部)插入指定内容. append() 方法在被选元素的结尾(仍然在内部)插入指定内容.
- 动态规划——Buyer
题目链接 题目描述 哆啦A梦班级举办个party,当然吃的东西必不可少,哆啦A梦负责采购任务,他得到了一份清单,上面注明不同食品的受欢迎程度,哆啦A梦需要用一定的价钱尽可能达到的更大的受欢迎程度!例如 ...
- ApacheBench 测试性能并使用 GnuPlot 绘制图表
转自:http://blog.csdn.net/fdipzone/article/details/18827069 ApacheBench 测试性能并使用 GnuPlot 绘制图表 Apache Be ...
- PHP回顾之协程
转载请注明文章出处: https://tlanyan.me/php-review... PHP回顾系列目录 PHP基础 web请求 cookie web响应 session 数据库操作 加解密 Com ...
- @value 注解获取属性文件中的值
一.属性文件 db.properties name=jack 二.配置文件 applicationContext.xml <!-- 加载配置文件,该节点只能存在一个,所以用 * ,加载所有属性文 ...