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/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! 该博客中的代码均出自我的开源项目 : 迷你微信 ...
随机推荐
- C#监测方法执行效率
System.Diagnostics.Stopwatch watch = new Stopwatch(); watch.Start(); // 开始监视代码运行时间 //需要监测的代码 dothing ...
- Segment公司--整合数据进行分析
YC毕业生Segment获得1500万美元A轮融资 现在收集数据是每一个公司的必修课了,而且是从各种不同 API 上收集数据,但是你还要把这些数据整合起来才能发挥作用,Segment就能帮你整合各个平 ...
- RXSwift源码浅析(一)
简述 最近老大给了个新项目,我打算用Swift写.原来OC用的RAC,换到Swift自然框架也想试试新的,就用了RXSwift,对于这两个框架,我都是会用,但不解其中的原理,正好最近需求没下来,就研究 ...
- 这份接口管理平台 eoLinker 开源版的部署指南教程你一定不想错过
本文主要内容是讲解如何在本地部署eoLinker开源版. 环境要求 1.PHP 5.5+ / PHP7+(推荐) 2.Mysql 5.5+ / Mariadb 5.5+ 3.Nginx(推荐) / A ...
- 【JavaScript框架封装】实现一个类似于JQuery的选择框架的封装
// 选择框架 (function (xframe) { // 需要参与链式访问的(必须使用prototype的方式来给对象扩充方法) xframe.extend({}); // 不需要参与链式访问的 ...
- js操作table中tr的顺序,实现上移下移一行的效果
总体思路是在table外部加个div,修改div的innerHtml实现改变tr顺序的效果 具体思路是 获取当前要移动tr行的rowIndex,在table中删除掉,然后循环table的rows,到了 ...
- 30 包含min函数的栈(举例让抽象问题具体化)
题目描述: 定义栈的数据结构(push/pop),请在该类型中实现一个能够得到栈中所含最小元素的min函数(三者的时间复杂度都应为O(1)). 测试用例: 1)新压入栈的数字比之前的最小值大/小 2) ...
- C# 常用字符串加密解密方法
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Sec ...
- docker 命令部分
本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: 看一个变迁图 看一个变迁图 ...
- 【Manthan, Codefest 18 (rated, Div. 1 + Div. 2) B】Reach Median
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 将数组排序一下. 考虑中位数a[mid] 如果a[mid]==s直接输出0 如果a[mid]<s,那么我们把a[mid]改成s ...