收藏 分享(赏)

Unity3D技术入门之JavaScript.docx

上传人:dreamzhangning 文档编号:2528476 上传时间:2018-09-20 格式:DOCX 页数:7 大小:139.88KB
下载 相关 举报
Unity3D技术入门之JavaScript.docx_第1页
第1页 / 共7页
Unity3D技术入门之JavaScript.docx_第2页
第2页 / 共7页
Unity3D技术入门之JavaScript.docx_第3页
第3页 / 共7页
Unity3D技术入门之JavaScript.docx_第4页
第4页 / 共7页
Unity3D技术入门之JavaScript.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、Unity3D技术入门之 JavaScript刚刚接触 unity3D 游戏引擎,这里做点学习笔记。下面是我建立的简单场景,左侧的 Hierarchy(层次)视图里显示了场景中所有游戏对象,这些基本对象可以从 Create 下拉菜单里创建。当你点击某个对象,比如立方体 Cube 时,在右侧 Inspector(监视)中可以看到 Cube 对象的详细信息,比如它的位置信息、表面材质信息,然后可以在其中修改。下方的 Project 视图中的 Assets(资源)里显示了游戏中所有资源,这里注意与 Hierarchy 视图里对象的区别,我们的游戏脚本放在 Assets里。刚开始学习 unity3d,

2、我会反感那些脚本,总希望不需要写代码就能创建自己的游戏,但后来发现,在 Unity3D 中不写脚本是不可能的,脚本完全就是一切的逻辑,文章出处【狗刨学习网】。要在 Scene(场景)视图里创建物体,可以在左侧的 Hierarchy 视图里点击 Create 下拉菜单,选择创建即可,我这里创建了一个平面 Plane、两个立方体 Cube 和 MyCube、一个摄像机 MainCamera、一个圆柱体 Cylinder。在Scene 中,按住 ALT 键,用鼠标就可以旋转整个场景;按住鼠标中键,可以拖动场景视图;用鼠标滚轮可以缩放视图。要给场景中的物体上色,比如平面 Plane,只需要点击对象 P

3、lane,然后在右侧 Inspector 中做些设置即可。那么如何改变物体表面的颜色了,是直接修改吗?不是,有点图像学基础的都知道,要改变表面颜色,实际要改变的是物体的表面材质,材质中可以包含各种复杂信息。要创建材质,可以在 Assets视图中点击右键,选择 Create-Material 即可,然后在 Inspector 中修改Main Color 属性即可。最后点击 Plane 对象,在右侧点击 Materials 里Element0 最右边的小圈,选择想要的材质,也可以直接把 Assets 里的材质拖放到 Element0 上即可。在 Create 里只能创建一些基本模型,下面学习用 J

4、avaScript 脚本在场景中创建游戏界面元素,比如按钮、文本框、图片等。我看的书是unity3d 游戏开发,最开始讲的就是 JavaScript,后面会讲 C#作为脚本语言。下面是我自己的一个练习的截图。界面有点乱,也懒得改了。最上面的是几个旋转视图的按钮,左边绿色的文字,接着是一幅图片、滑动条。下方是输入框、图片按钮。比较显眼的是 3个窗口,窗口里的元素坐标都是相对的。我在代码中都有详细的注释,也不需要做什么说明了。要使用脚本,先在 Assets 里创建 javaScript,打开编辑器复制我的代码。然后点击左侧的 Main Camera 对象,把脚本文件拖动到右侧中即可。可能会出现编译

5、错误,无法运行,那是因为我没有提供材质、图片。点击 Main Camera 对象,点击右侧 Inspector 里的脚本文件,展开它的属性,会看到 Image Texture、Button Texture 这些变量,凡是在 JavaScript 里的public 修饰的变量就会出现在这里,要给这些变量赋值才可以正常运行。我这里需要赋值的是 Image Texture、Button Texture、View Texture 0,这三个都是图片,从 Assets 里拖放三个图片赋给它们即可。下面还有一个My Skin 变量,是 Unity 里的皮肤,比如决定按钮的颜色,可以被很多按钮使用,也是在

6、Assets 里直接创建即可。对于 Unity3D 里的 GUI 控件,简单的有Label(文本)、Button (按钮)、TextField(文本框)、ToolBar(工具栏)、Slider(滑块)、ScrollView(滚动显示区域)等。群组视图(Group View 控件):将多个视图放在一个群组中,群组视图里的坐标都是相对的。修改群组视图坐标,里面所有元素坐标都会变化。GUILayout:相对与 GUI 控件,GUILayout 控件的创建不需要设定显示区域,不指定具体坐标,可以动态适应窗口。比如绘制一个按钮,如果用 GUI 控件,需要指定按钮的长度,如果按钮上的文字长度超出了按钮长度

7、,超出部分便无法显示了。如果使用 GUILayout,便可以动态自适应。帧动画:在加载图片动画时,我使用了 Resources.Load()这样的方法,注意需要在Assets 里创建 Resources 目录,然后把动画资源放在其中。刚体( Rigidbody):在 Unity 中可以给对象添加这个属性,比如立方体,添加后的立方体可以和其它物体产生碰撞反应,变成了一个具有物理属性的物体,比如可以自由裸体运动。要添加这个属性,先选择对象,然后在菜单栏里选择 Component-Physics-Rigidbody 即可。代码如下:var str1:String;/外部字符串4var imageTe

8、xture: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:i

9、nt;/屏幕宽度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;/单

10、选控件是否选中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

11、 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()52 screenWidth=

12、Screen.width;53 screenHeight=Screen.height;54 imageWidth=imageTexture.width;55 imageHeight=imageTexture.height;56 str1=“点击 click”;57 username=“”;58 password=“”;59 select=0;60 barResource=“Toolbar1”,“Toolbar2”,“Toolbar3”;61 scrollPosition0=50;62 scrollPosition1=50;6364 /添加一个窗口65 winArrayList.Add(Rect

13、(winArrayList.Count*100,400,150,100);6667 /得到帧动画中的所有图片资源68 animUp=Resources.LoadAll(“up”);69 animDown=Resources.LoadAll(“down”);70 animLeft=Resources.LoadAll(“left”);71 animRight=Resources.LoadAll(“right”);72 tex=animUp;737475/每一帧都要执行的更新76function Update()77787980/绘制 GUI 界面组件81function OnGUI()8283 /

14、设置 GUI 背景颜色84 GUI.backgroundColor=Color.red;85 /设置一个按钮,规定一个矩形区域86 if(GUI.Button(Rect(10,10,70,30),“向左旋转”)87 88 /transform 为当前绑定模型的变换对象,设置模型旋转89 /Time.deltaTime:表示完成最后一帧的时间,单位为秒90 transform.Rotate(Vector3.up*Time.deltaTime*(-RotateSpeed);91 92 if(GUI.Button(Rect(170,10,70,30),“向右旋转”)93 94 transform.Rotate(Vector3.up*Time.deltaTime*RotateSpeed);95 96 if(GUI.Button(Rect(90,10,70,30),“向前移动”)97 98 transform.Translate(Vector3.forward*Time.deltaTime*TranslateS

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报