1,Vector3 类型变量存储向量坐标值

Vector3.forward

Vector3(0,0,1)

Vector3.up

Vector3(0,1,0)

Vector3.right

Vector3(1,0,0)

Vector3.zero

Vector3(0,0,0)

Vector3.one

Vector3(1,1,1)

2,给对象RigidBody添加组件 ,然后给RigidBody一个速率(velocity)让它的移动

using UnityEngine;
using System.Collections; public class moveFwd : MonoBehaviour
{ public float moveSpeed = 0.1f; // Use this for initialization
void Start()
{ } // Update is called once per frame
void Update()
{
Vector3 moveForward = new Vector3(moveSpeed, , moveSpeed);
this.GetComponent<Rigidbody>().velocity = moveForward;
}
}

  

3, 鼠标移入变红色,鼠标移出还原颜色,点击鼠标播放声音,JS代码实现:

#pragma strict

var oldColor:Color;
var audioPlay=false; function Start () {
oldColor= this.GetComponent(MeshRenderer).material.color;
} function Update () { } //鼠标移入
function OnMouseOver(){
this.GetComponent(MeshRenderer).material.color=Color.red; //旋转
this.transform.Rotate(,-*Time.deltaTime,);
print("OnMouseOver");
}
//鼠标移出
function OnMouseExit(){
this.GetComponent(MeshRenderer).material.color=oldColor;
print("OnMouseOut");
}
//点击鼠标
function OnMouseDown(){
if (audioPlay==false) {
this.GetComponent(AudioSource).Play();
audioPlay=true;
}else {
this.GetComponent(AudioSource).Pause();
audioPlay=false;
}
print("OnMouseDown"); }

4, 操作文本的时候,记得先引用  UnityEngine.UI:

using UnityEngine;
using System.Collections;
using UnityEngine.UI; public class count : MonoBehaviour
{
void OnMouseDown() {
GameObject.Find("Canvas/Text").GetComponent<Text>().text = "Score";
}
}

5,给小球添加物理材质,是小球跳动:Asseets → Create → Physic Material :

  

  JS控制小球颜色变化:

var t:float=;
function Update () {
t+=Time.deltaTime;
//每3秒换一个随机颜色
if(parseInt(t)%==){
gameObject.Find("Sphere").GetComponent(MeshRenderer).material.color=Color(Random.Range(,)/255f,Random.Range(,)/255f,Random.Range(,)/255f);
} }

6, 获取对象放在Start()方法里面,不要放到Update()里面,这样会提高运行效率,JS控制灯光变强、变弱:

#pragma strict
import UnityEngine.Light; var directLight:GameObject;
var theTxt:GameObject;
var objCube:GameObject; function Start () {
//获取对象
directLight=gameObject.Find("Directional Light");
theTxt=gameObject.Find("Canvas/Text");
objCube=gameObject.Find("Cube");
} function Update () { //更改灯光亮度
if (Input.GetKey(KeyCode.L)) {
directLight.GetComponent(Light).intensity+=0.1;
};
if (Input.GetKey(KeyCode.K)) {
directLight.GetComponent(Light).intensity-=0.1;
};
theTxt.GetComponent(Text).text = directLight.GetComponent(Light).intensity.ToString();
if (Input.GetKey(KeyCode.S)) {
//调用了Cube组件中的go方法
objCube.SendMessage("go");
};
}

7,代码实现第一人称控制器,思路:

  ①新建项目,添加地面Plane,创建3D Object(Capsule) ,添加Cute

  ②给Capsule附加脚本让其能够上下左右移动

  ③把Main Camera的Position调节和Capsule一致、略高,然后把MainCamera作为Capsule的Child Object

  JS 代码:

#pragma strict
@script RequireComponent(CharacterController) var speed:float=6.0;
var jumpspeed:float =8.0;
var gravity:float =1.0;
private var movedirection:Vector3=Vector3.zero;
private var grounded:boolean=false; function FixedUpdate(){
if (grounded){
movedirection=Vector3(Input.GetAxis("Horizontal"),,Input.GetAxis("Vertical")); movedirection=transform.TransformDirection(movedirection);
movedirection*=speed ; if(Input.GetButton("Jump")){
movedirection.y=jumpspeed;
}
}
movedirection.y -= gravity*Time.deltaTime; var controller:CharacterController=GetComponent(CharacterController);
//移动命令 var flags=controller.Move(movedirection*Time.deltaTime);
//CollisionFlags.CollidedBelow 底部发生了碰撞“flags & CollisionFlags.CollidedBelow”返回1
//CollisionFlags.CollidedNone 没发生碰撞“flags & CollisionFlags.CollidedNone”返回1
//CollisionFlags.CollidedSides 四周发生了碰撞“flags & CollisionFlags.CollidedSides”返回1
//CollisionFlags.CollidedAbove 顶端发生了碰撞“flags & CollisionFlags.CollidedAbove”返回1
// 单个& 表示比较两个二进制数值
//位掩码技术
grounded=(flags & CollisionFlags.CollidedBelow)!=;
}

参考 : 

1,Unity3D中MeshRenderer的使用

Unity3D 5.x 简单实例 - 脚本编写的更多相关文章

  1. android Jni NDK开发环境搭建及其简单实例的编写

    android  Jni  NDK开发环境搭建及其简单实例的编写 由于工作需要,需要采用开发想要的JNI,由于之前没有接触过安卓的开发,所以更加网上的帖子,学习了下.遇到了些问题,然后总结下学习过程中 ...

  2. Unity3D 5.x 简单实例 - 孤岛场景搭建

    1,如果我们的Unity 5.X 是从这个地址下载的,安装后不会有资源包,则需要从Unity3D官网下载资源包: Standard Assets (Unity 5.x) 下载 下载后安装后,Unity ...

  3. Unity3D 5.x 简单实例 - 发射炮弹

    1,下载.安装: http://unity3d.com/cn/get-unity/download/archive 建议直接借助 UnityDownloadAssistant 进行安装,根据需要勾选需 ...

  4. Unity3D自定义编辑器简单实例

    MenuItem:在标题栏自定义菜单.需要在Editor文件夹内创建脚本,无需挂载.但是注意其下的函数必须为静态函数. using UnityEngine; using UnityEditor; pu ...

  5. Selenium2学习-018-WebUI自动化实战实例-016-自动化脚本编写过程中的登录验证码问题

    日常的 Web 网站开发的过程中,为提升登录安全或防止用户通过脚本进行黄牛操作(宇宙最贵铁皮天朝魔都的机动车牌照竞拍中),很多网站在登录的时候,添加了验证码验证,而且验证码的实现越来越复杂,对其进行脚 ...

  6. linux脚本之简单实例

    利用脚本计算10的阶乘 简单说明一下: #!/bin/bash说明该shell使用的bash shell程序.这一句不可少for i in `seq 1 10`还可以写成for i in 1 2 3 ...

  7. Wordpress解析系列之PHP编写hook钩子原理简单实例

    Wordpress作为全球应用最广泛的个人博客建站工具,有很多的技术架构值得我们学习推敲.其中,最著名最经典的编码技术架构就是采用了hook的机制. hook翻译成中文是钩子的意思,单独看这个词我们难 ...

  8. BAT脚本编写教程简单入门篇

    BAT脚本编写教程简单入门篇 批处理文件最常用的几个命令: echo表示显示此命令后的字符 echo on  表示在此语句后所有运行的命令都显示命令行本身 echo off 表示在此语句后所有运行的命 ...

  9. selenium从入门到应用 - 2,简单线性脚本的编写

    本系列所有代码 https://github.com/zhangting85/simpleWebtest 本文将介绍一个Java+TestNG+Maven+Selenium的web自动化测试脚本环境下 ...

随机推荐

  1. Meteor + node-imap(nodejs) + mailparser(nodejs) 实现完整收发邮件

    版本信息: Meteor:windows MIS安装  0.6.4 node-imap:npm指定的0.8.0版,不是默认的0.7.x版. mailparser:npm安装0.3.6 以下是记录踩到的 ...

  2. android-plugmgr源代码分析

    android-plugmgr是一个Android插件加载框架,它最大的特点就是对插件不需要进行任何约束.关于这个类库的介绍见作者博客,市面上也有一些插件加载框架,但是感觉没有这个好.在这篇文章中,我 ...

  3. .NET Memory Profiler 查看内存使用情况

    1 简介 .Net Memory Profiler(以下简称Profiler):专门针对于.NET程序,功能最全的内存分析工具,最大的特点是具有内存动态分析(Automatic Memory Anal ...

  4. Distributed3:SQL Server 创建分布式数据库

    分布式数据库的优势是将IO分散在不同的Physical Disk上,每次查询都由多台Server的CPU,I/O共同负载,通过各节点并行处理数据来提高性能,劣势是消耗大量的网络带宽资源,管理难度大.在 ...

  5. 12款非常精致的免费 HTML5 & CSS3 网站模板

    01. Joefrey Mahusay 很炫的单页网站模板,基于 HTML5 & CSS3 制作,适合用于设计师个人简历.摄影师和平面设计师的个人作品展示. 演示  下载 02. Folder ...

  6. OpenCASCADE Camera

    OpenCASCADE Camera eryar@163.com Abstract. OpenCASCADE introduce a new class Graphic3d_Camera for th ...

  7. css中的expression

    最近对CSS中的行为比较感兴趣,虽然是不符合标准的也只有ie才能识别,但是他确实给css的功能扩展了不少.下面是摘自互联网上的文字和例子,因为都被转烂了,没法注明出处. IE5及其以后版本支持在CSS ...

  8. C算法编程题(二)正螺旋

    前言 上一篇<C算法编程题(一)扑克牌发牌> 写东西前总是喜欢吐槽一些东西,还是多啰嗦几句吧,早上看了一篇博文<谈谈外企涨工资那些事>,里面楼主讲到外企公司包含的五类人,其实不 ...

  9. 构建自己的PHP框架--定义ORM的接口

    在上一篇博客中,我们抽象出了Controller的基类,实现了页面的渲染和返回JSON字符串的功能. 那作为一个框架,我们现在还缺少什么?是的,大家应该已经注意到了,我们在这之前从来没有连接过数据库, ...

  10. C# 在word中查找及替换文本

    C# 在word中查找及替换文本 在处理word文档时,很多人都会用到查找和替换功能.尤其是在处理庞大的word文档的时候,Microsoft word的查找替换功能就变得尤为重要,它不仅能让我们轻易 ...