




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Unity3D入门之JavaScript 刚刚接触unity3D游戏引擎,这里做点学习笔记。下面是我建立的简单场景,左侧的Hierarchy(层次)视图里显示了场景中所有游戏对象,这些基本对象可以从Create下拉菜单里创建。 当你点击某个对象,比如立方体Cube时,在右侧Inspector(监视)中可以看到Cube对象的详细信息,比如它的位置信息、表面材质信息,然后可以在其中修改。下方的Project视图中的Assets(资源)里显示了游戏中所有资源,这里注意与Hierarchy视图里对象的区别,我们的游戏脚本放在Assets里。刚开始学习unity3d,我会反感那些脚本,总希望不需要写代码就能创建自己的游戏,但后来发现,在Unity3D中不写脚本是不可能的,脚本完全就是一切的逻辑。资源来自于狗刨学习网 要在Scene(场景)视图里创建物体,可以在左侧的Hierarchy视图里点击Create下拉菜单,选择创建即可,我这里创建了一个平面Plane、两个立方体Cube和MyCube、一个摄像机MainCamera、一个圆柱体Cylinder。在Scene中,按住ALT键,用鼠标就可以旋转整个场景;按住鼠标中键,可以拖动场景视图;用鼠标滚轮可以缩放视图。 要给场景中的物体上色,比如平面Plane,只需要点击对象Plane,然后在右侧Inspector中做些设置即可。那么如何改变物体表面的颜色了,是直接修改吗?不是,有点图像学基础的都知道,要改变表面颜色,实际要改变的是物体的表面材质,材质中可以包含各种复杂信息。要创建材质,可以在Assets视图中点击右键,选择Create-Material即可,然后在Inspector中修改Main Color属性即可。最后点击Plane对象,在右侧点击Materials里Element0最右边的小圈,选择想要的材质,也可以直接把Assets里的材质拖放到Element0上即可。 在Create里只能创建一些基本模型,下面学习用JavaScript脚本在场景中创建游戏界面元素,比如按钮、文本框、图片等。我看的书是unity3d游戏开发,最开始讲的就是JavaScript,后面会讲C#作为脚本语言。下面是我自己的一个练习的截图。 界面有点乱,也懒得改了。最上面的是几个旋转视图的按钮,左边绿色的文字,接着是一幅图片、滑动条。下方是输入框、图片按钮。比较显眼的是3个窗口,窗口里的元素坐标都是相对的。我在代码中都有详细的注释,也不需要做什么说明了。要使用脚本,先在Assets里创建javaScript,打开编辑器复制我的代码。然后点击左侧的Main Camera对象,把脚本文件拖动到右侧中即可。可能会出现编译错误,无法运行,那是因为我没有提供材质、图片。点击Main Camera对象,点击右侧Inspector里的脚本文件,展开它的属性,会看到Image Texture、Button Texture这些变量,凡是在JavaScript里的public修饰的变量就会出现在这里,要给这些变量赋值才可以正常运行。 我这里需要赋值的是Image Texture、Button Texture、View Texture 0,这三个都是图片,从Assets里拖放三个图片赋给它们即可。下面还有一个My Skin变量,是Unity里的皮肤,比如决定按钮的颜色,可以被很多按钮使用,也是在Assets里直接创建即可。对于Unity3D里的GUI控件,简单的有Label(文本)、Button(按钮)、TextField(文本框)、ToolBar(工具栏)、Slider(滑块)、ScrollView(滚动显示区域)等。 群组视图(Group View控件):将多个视图放在一个群组中,群组视图里的坐标都是相对的。修改群组视图坐标,里面所有元素坐标都会变化。 GUILayout: 相对与GUI控件,GUILayout控件的创建不需要设定显示区域,不指定具体坐标,可以动态适应窗口。比如绘制一个按钮,如果用GUI控件,需要指定按钮的长度,如果按钮上的文字长度超出了按钮长度,超出部分便无法显示了。如果使用GUILayout,便可以动态自适应。 帧动画: 在加载图片动画时,我使用了Resources.Load()这样的方法,注意需要在Assets里创建Resources目录,然后把动画资源放在其中。 刚体(Rigidbody): 在Unity中可以给对象添加这个属性,比如立方体,添加后的立方体可以和其它物体产生碰撞反应,变成了一个具有物理属性的物体,比如可以自由裸体运动。要添加这个属性,先选择对象,然后在菜单栏里选择Component-Physics-Rigidbody即可。 代码如下:var str1:String;/外部字符串4var imageTexture:Texture;/外部贴图5var buttonTexture:Texture2D;/按纽图片6var viewTexture0:Texture2D;7var TranslateSpeed=20;/模型移动速度8var RotateSpeed=1000;/模型旋转速度910private var username:String;/用户名11private varpassword:String;/密码1213private var imageWidth:int;/图片宽度14private var imageHeight:int;15private var screenWidth:int;/屏幕宽度16private var screenHeight:int;1718private varselect:int;/工具栏选择按钮的ID19private var barResource:String;/工具栏按钮字符串2021var verticalValue:int=0;/纵向滑动条数值22var horizontalValue:float=0.0f;/横向滑动条数值2324var scrollPosition:Vector2;/滚动条位置2526var mySkin:GUISkin;/自定义皮肤2728private varchoose:boolean=false;/单选控件是否选中2930/默认窗口位置31private var window0:Rect=Rect(770,100,250,100);32private var window1:Rect=Rect(600,200,400,300);3334var winArrayList=newArrayList();/用于存储窗口353637private var animUp:Object;/动画数组38private var animDown:Object;39private var animLeft:Object;40private var animRight:Object;41private var map:Texture2D;/地图贴图42private var tex:Object;/当前人物动画43private var x:int=400;/人物的x坐标44private var y:int=400;/人物的y坐标45private var nowFrame:int;/帧序列46private var mFrameCount:int;/帧总数47private var fps:float=10;/一秒多少帧48private var time:float=0;/限制帧的时间4950/程序开始函数,变量初始化51function Start()52screenWidth=Screen.width;53screenHeight=Screen.height;54imageWidth=imageTexture.width;55imageHeight=imageTexture.height;56str1=“点击click”;57username=“”;58password=“”;59select=0;60barResource=“Toolbar1”,“Toolbar2”,“Toolbar3”;61scrollPosition0=50;62scrollPosition1=50;6364/添加一个窗口65winArrayList.Add(Rect(winArrayList.Count*100,400,150,100);6667/得到帧动画中的所有图片资源68animUp=Resources.LoadAll(“up”);69animDown=Resources.LoadAll(“down”);70animLeft=Resources.LoadAll(“left”);71animRight=Resources.LoadAll(“right”);72tex=animUp;737475/每一帧都要执行的更新76function Update()77787980/绘制GUI界面组件81function OnGUI()8283/设置GUI背景颜色84GUI.backgroundColor=Color.red;85/设置一个按钮,规定一个矩形区域86if(GUI.Button(Rect(10,10,70,30),“向左旋转”)8788/transform为当前绑定模型的变换对象,设置模型旋转89/Time.deltaTime:表示完成最后一帧的时间,单位为秒90transform.Rotate(Vector3.up*Time.deltaTime*(-RotateSpeed);91
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上饶市中石化2025秋招网申填写模板含开放题范文
- 初中碳化物测试题及答案
- 中国移动金华市2025秋招财务审计类专业追问清单及参考回答
- 迪庆自治州中石化2025秋招面试半结构化模拟题及答案油田勘探开发岗
- 中国移动崇左市2025秋招财务审计类专业追问清单及参考回答
- 国家能源北海市2025秋招面试专业追问及参考电气工程岗位
- 东莞市中石化2025秋招面试半结构化模拟题及答案法律与合规岗
- 中国联通海东市2025秋招面试无领导高频议题20例
- 体育技能考试试题及答案
- 文山自治州中储粮2025秋招仓储保管岗高频笔试题库含答案
- DB32-T 4446-2023 公共机构能源托管规程
- 国家职业技术技能标准 4-04-05-05 人工智能训练师 人社厅发202181号
- 2024年新人教版八年级上册物理全册教案
- 伤口造口专科护士进修汇报
- MOOC 实验室安全学-武汉理工大学 中国大学慕课答案
- 彩钢房建造合同
- 2型糖尿病低血糖护理查房课件
- 医院物业服务投标方案
- 高压燃气管道施工方案
- 国家免疫规划疫苗儿童免疫程序说明-培训课件
- GB/T 13298-1991金属显微组织检验方法
评论
0/150
提交评论