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/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! 该博客中的代码均出自我的开源项目 : 迷你微信 ...
随机推荐
- Python Django中QQ邮箱授权码问题
Python Django中QQ邮箱授权码问题 系统及软件版本如下: Ubuntu Kylin 16.04 Python 3.5.1 Django 1.9.7 PyCharm Community Ed ...
- (转)Bootstrap 之 Metronic 模板的学习之路 - (6)自定义和扩展
https://segmentfault.com/a/1190000006815041 前面我们将 Metronic 的结构和源码大致浏览了一遍,Metronic 整个文件包有三百多兆,在实际项目中, ...
- 编写模块时的声明(含MODULE_LICENSE等)(转)
编写模块必须先声明下面两句: #include <linux/module.h> //这个头文件包含了许多符号与函数的定义,这些符号与函数多与加载模块有关 #i ...
- Spring依赖注入:@Autowired,@Resource和@Inject区别与实现原理
一.spring依赖注入使用方式 @Autowired是spring框架提供的实现依赖注入的注解,主要支持在set方法,field,构造函数中完成bean注入,注入方式为通过类型查找bean,即byT ...
- centos 6.10 永久修改主机名
1> 修改配置文件 vim /etc/sysconfig/network #HOSTNAME=localhost.localdomain HOSTNAME=tomcat 2> 修改ho ...
- javase 异常处理
1.简述什么是异常.异常的继承体系? 异常就是java代码块在运行时出现的错误,有编译错误和运行错误, Throwable是所有异常的父类它包含了error和Exception两个子类. 其中e ...
- 《Python数据分析与挖掘实战》-第四章-数据预处理
点我看原版
- 微信小程序打开PDF
具体情况是:微信小程序打开springboot返回的pdf文件.微信端先downloadFile,然后openDocument.但是打开文档一直不成功.后来发现官网的例子没有加fileType,我在参 ...
- Disconf使用简单Demo
创建配置文件 在敲Demo之前,需要在Disconf上创建自己的APP,然后在APP的某个环境下创建配置文件,如下面截图中的流程,这里就简单创建了一个redis.properties,内容是redis ...
- anaconda下安装xgboost
1.下载whl文件 网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost 选择合适自己的环境的下载,比如python3.6还是3.5的,64位机 ...