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/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! 该博客中的代码均出自我的开源项目 : 迷你微信 ...
随机推荐
- Android 接入微信分享错误码-6
官方的常见错误表示签名出错登录以后,需要重装微信(也就是清除微信本地数据)
- Paint、Canvas.1
Canvas 方法详解 1:translate(float dx, float dy) /**** 移动canvas的原点到(dx,dy),默认为(0,0) */ public void transl ...
- Mac Terminal 快捷键
在Mac系统中并没有Home.End等键,所以在使用时并不是特别的顺手,但是有几个键位组合可以使Terminal的操作更加灵活方便. 1.将光标移动到行首:ctrl + a 2.将光标移动到行尾:ct ...
- 杭电 2035 人见人爱A^B【快速幂取模】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2035 解题思路:这一题数据不大,可以用同余来做,也可以用快速幂来做 反思:定义成 #include&l ...
- Jquery 研究 入口
<script type="text/javascript"> //var jQuery = function () { // console.log(jQuery.f ...
- UNIX网络编程(转载)
1.1 客户端程序和服务端程序 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 网络程序是先有服务器程序启动,等待客户端的程序运行并建立连接.一般的来说是服务端 ...
- angular.js表单验证
表单验证<AngularJs> 常用的表单验证指令 1. 必填项验证 某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: <input type=& ...
- HTML5新特性之文件和二进制数据的操作 Blob对象
HTML5新特性之文件和二进制数据的操作 1.Blob对象 2.FileList对象 3.File对象 4.FileReader 对象 5.URL对象
- C++继承与组合
转自https://blog.csdn.net/caoyan_12727/article/details/52337297 类的组合和继承一样,是软件重用的重要方式.组合和继承都是有效地利用已有类的资 ...
- 「BZOJ3339」Rmq Problem(5366)
题目描述 输入 输出 样例输入 7 5 0 2 1 0 1 3 2 1 3 2 3 1 4 3 6 2 7 提示 这个题说来也挺有意思的 当时集训的时候遇到了一道类似的题,但是题意与此不同,我太菜了, ...