没有大哥会用unity3d能做什么把做好的游戏变为apk格式的

Unity 3d导出安卓版本的详细步骤
1.我们首先下载2个工具,
可以从这下载 JavaJDK官网
可以从这下载 AndroidSDK官网
2.我们来安装
JDK,安装JavaJDK要注意下安装路径,到后面很重要的,会用到的。例如我在安装的时候就改变了默认的路径。
3.在安装完jdk后,还需要对jdk的环境变量进行配置才能正常使用,这个很重要的。操作如下:
1.右键选择 计算机→属性→高级系统设置→高级→环境变量
2..系统变量→新建
变量名:JAVA_HOME
变量值:(变量值填写你的jdk的安装目录,例如本人是 D:Program FilesJavajdk1.7.0_45)
3.在系统变量中找到 Path 变量,选择编辑
在变量值最后输入 %JAVA_HOME%%JAVA_HOME%
(注意如果原来Path的变量值末尾没有;号,就先输入;号再输入上面的代码)
4.系统变量→新建
变量名:CLASSPATH
变量值:.%JAVA_HOME%%JAVA_HOME%lib
ools.jar(注意最前面有一点)
到这系统变量就配置完毕了。
5.检验jdk是否配置成功:运行cmd 输入 java -version (java 和 -version 之间有空格)
上面设置的环境变量的值放在这
1. JAVA_HOME==D:Program FilesJavajdk1.7.0_452. Path==;%JAVA_HOME%%JAVA_HOME%3. CLASSPATH==.%JAVA_HOME%%JAVA_HOME%lib
4 .我们来安装 AndroidSDK,将我们下载下来的AndroidSDK解压到某个地方,这里我放在了Java的目录下:
5.然后我们打开它,双击SDK Manager.exe
稍等片刻,我们选择安装哪个API,这里我选择了Android2.3.3的,然后点击Install packages进行安装,一系列操作
经过了一段时间的等待,我们看见上图4我圈起来的都打勾了,就算成功安装了。否则就没有成功安装上。如果没有成功安装,那么在导出版本的时候有可能会出错,所以建议你可以再试下安装,我就是安装了4遍才成功安装上了。
或者你选个其他版本的进行安装。
到此我们所有的准备工作都已经做好了,现在就可以用去导出安卓格式的游戏了。本来我想说下如何使用虚拟机上进行安装我们导出的安卓应用。但是虚拟安卓实在是太伤人心,运行慢,而且很容易停止应用,在此就算了,不讲这个了。
好了现在我们来正式讲导出安卓格式了。
1.首先我们设置下SDK,选择Edit----Preference.
给Android SDK Location选择我们刚才下载的Android SDK的路径。
好了,我们来设置下,然后可以去导出安卓版了。
第一个是竖屏,第二个竖屏倒置,三是右横屏,四是左横屏,最后一个是根据你手机状态自动改变,也就是自动切换横竖屏。
Default Icon就是桌面图标的样式。
Minimun API Level 是导出的APK适用的版本,根据需求对安卓版本的限定去设置。
最后记得Company Name和Product Name还有Bundle Identifier一定要改变哦,不然你就发布不出去的
原文链接:http://blog.csdn.net/xyk0318/article/details/
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!论文发表、论文指导
周一至周五
9:00&22:00
基于Unity3D 的Android 飞行类游戏设计
  摘要:该文分析了使用Unity3D设计飞行类Android游戏的方法和过程,包括背景的设置、主角飞机的制作,敌机的制作,子弹的制作,这些游戏物体之间的碰撞反应和玩家控制游戏的方法,使用C#语言来编写游戏程序,包括用代码控制场景的切换,飞机、子弹、奖励物品的自由落体或者飞行,碰撞之后发生的效果以及变化等等。最后对游戏进行了测试与总结。 中国论文网 /8/view-7559486.htm  关键词:Unity3D;飞行类游戏;C#编程;碰撞检测   中图分类号:TP391 文献标识码:A 文章编号:(8-03   飞行类游戏在社交媒体上传播与流行,尤其是设计简洁、玩法直接的小型化飞机游戏尤其受到欢迎。通过使用Unity3D引擎,可以快速开发出飞行游戏。利用Unity3D提供的游戏对象、碰撞探测和控制输入等功能,让开发者无需从底层开始开发,通过点选操作,辅助以少量C#代码便可以所操即所见、所见即所得,即时看到游戏的效果进行快速开发。本项目美工方面用Photpshop、3DS Max等软件简单进行处理,满足项目的要求UI与游戏美术要求。   1 总体设计   起初设计飞机射击游戏灵感来源于微信的“打飞机”游戏,在微信上好友一起竞技比拼所获得的分数,这里还包含网络通信设计,本文不涉及。单机的飞机射击游戏要考虑很多因素,比如积分,一些玩法上和界面上的设计等方面。界面上设计包括使用不同的飞机、子弹要素,几种爆炸效果,碰撞奖励物品效果等。玩法上包括子弹奖励和TNT炸弹奖励,这两种将奖励物品随机出现,一种是子弹的奖励,将原本中间一路子弹变成侧翼的两路子弹;另一种则是威力强大的TNT炸弹奖励,能够清空屏幕内所有的敌机。游戏失败的情况设计,敌机与玩家控制的飞机产生碰撞后进入失败画面。敌机设计上,敌机不产生子弹,玩家只需要躲避屏幕上方下落的敌机即可。子弹的奖励是有固定的持续时间,TNT炸弹奖励可以储存累加,点击右下角的炸弹的小图标使用。游戏的操作是通过手指控制主角飞机移动,玩家躲避敌机并可以接受在敌机中降落的奖励物品。子弹是跟随主角的移动而移动,所以只需要把自身飞机(即是子弹的轨迹)瞄准到敌机即可击落敌机,设计得尽量操作简单些。   开发工具使用Unity3D,平台为Android操作系统。利用Unity的Level功能,预设计游戏提供三种关卡,第一种叫做经典模式,即普通的飞机游戏。第二种是疯狂模式,敌机下落的速率以及血量都有提升,同样玩家控制的飞机发出的子弹威力也更大。第三种是换机模式,玩家控制的飞机换了模型,换了模型之后的飞机,在参数上,设置了威力更大的子弹(子弹出现的速率高),奖励物品的威力也同时加强。   2 游戏对象   2.1 游戏背景与主角飞行效果   整个游戏的背景产用两张贴图的叠加。采用代码控制两张同样的贴图交替移动,实现背景的移动,导入飞机后就能够产生飞机移动的效果。关键代码包括,要在外部定义公有变量设置移动的速度,这里必须要注意是要设置为静态变量,否则运行程序会报错。关键代码如下。   public static float moveSpeed=4f;   接下来实现背景图的移动。跟随时间变化进行下移。   this.transform.Translate(Vector3.down*moveSpeed*Time.deltaTime);   一旦超过摄像机的范围,单张背景图就应该移动到新的位置。   if(postion.y<=-8.52f) {   this.transform.position=new Vector3(postion.x,postion.y+8.52f*2,postion.z);   }   其中,8.52f是由背景图片的高像素决定的,图片高为852像素。   飞机的飞行,单张的飞机素材是不行的。现在已经实现了背景的移动,以背景为参照物,飞机已经在飞行。现在要产生飞机的飞行效果。使用两张不同飞机尾部燃烧效果,首先定义精灵图组,键入以下关键代码。然后在Inspector面板中进行选择贴图,即能实现飞机喷气飞行效果。完成效果如图1所示。   if(animation){   timer+=Time.deltaTime;   int frameIndex = (int)(timer/(1f/frameCountPersconds));   int frame = frameIndex%2;   spriteRender.sprite = sprites[frame];   }   2.2 敌机的产生   上面已经实现了主角飞机的飞行移动,接下来需要在屏幕内随机产生敌机。敌机在屏幕上方自动生成,移动到屏幕下方之后重新定位到屏幕上方,总数量固定从而节约游戏运行内存。在Unity3D中建立一个空的Object,由它来随机产生敌机。在随机产生敌机之前,导入敌机的预制(Prefabs),直接从素材图片(Images)文件中拖动至Hierarchy面板中。Spawn是新建的空的Object。在其中绑定代码,需要定义各类不同的敌机出现速率,定义过程如图2所示。   public float enemy0Rate = 1.5f;//定义一种敌机出现的速率   同时,需要设置奖励物品的出现速率。有两种不同的奖励物品,因为威力不同,出现的速率也不一样。   public float awardType0Rate = 8f;   定义好之后,需要注意随机产生的敌机或者奖励物品,需要在超出一定范围之后消失,不然产生的物体一直会存在,会占用内存。敌机定义的参数如图2所示。
  public void createEnemy0(){   float x= Random.Range(-1.7f,1.7f);   GameObject.Instantiate(enemy0Prefab,new Vector3(x,transform.position.y),Quaternion.identity);   }   以上代码表示当超过某个位置,敌机就应该消失。   2.3 子弹的发射   子弹在Unity3D设定为预制。将它们拖到主角(hero)的对象下,即为hero的子对象。调整好他们的位置,正好在左右以及中间。接下来给子弹绑定代码。让子弹能够按照给定的速度自动向上升。非常简单,只需要给一个速度即可以实现   public float rate =2f;   和敌机一样,需要在超出屏幕范围之后使子弹消失。   3 碰撞与控制效果   3.1 子弹与敌机发生碰撞   在碰撞之前,要给需要碰撞的物体加上刚体,也就是collider。给敌机的预制,主角的预制以及奖励物品的预制都添加上了Polygon Collider 2D。给子弹加上Box Collider2D。给子弹以及敌机以及主角hero加上刚体之后,就可以通过代码实现碰撞了。一定要给需要碰撞的物体加上刚体,否则将不会发生碰撞。   检测碰撞设置时首先要设置标签(Tag),要为需要碰撞的物体设置标签,标签是可以重复的使用的,即不同的物体可以使用同一个标签。那就给同一类物体标上同一个标签,比如给敌机全都设置为”Emeny”。这样一来就可以判断是否碰撞到了敌机。同样的,主角碰撞奖励物品,子弹碰撞敌机,敌机碰撞主角,都是同样的方法。在这里列举主角碰撞奖励物品的代码:   public IEnumerator OnTriggerEnter2D(Collider2D collider){   if(collider.tag=="Award"){};   }   上述代码中的tag=="Award",就是找到“Award”标签。   3.2 主角的控制   游戏是基于Android平台开发的手机游戏,所以采用触屏方式控制主角飞机,玩家通过手指的操控就可以实现飞机的移动。在unity软件中,可以编写控制代码控制鼠标的移动,导出成Android平台相当于在手机上手指移动控制飞机。   private void checkPosition(){   Vector3 pos = transform.position;   float x = pos.x;   float y = pos.y;   if(x<-1.8f){ x=-1.8f; }   if(x>1.8f){ x=1.8f; }   if(y<-3.4f){ y=-3.4f; }   if(y>3.4f){ y=3.4f; }   transform.position= new Vector3(x,y,0);   }   直接使用checkPosition,检测鼠标(或者是手指)的位置。要保证的飞机不飞出屏幕外部,即在x,y轴上,正负都不超过屏幕的宽度。主角的飞机的像素为100*114,在unity中屏幕的宽和长为480*852。拖动主角的飞机,如图7中,在position中能检测x和y轴,拖动到屏幕边缘,发现position中x为正负1.8,而上下移动的时候,发现y为正负3.4。因此在代码中书写鼠标(或手指)移动的范围左右是1.8f,上下则是3.4f。主角坐标控制的设置如图3所示。   4 结束语   通过Unity的Building功能导出游戏。在Build Setting中设定选项后导出APK文件,通过手机助手拷贝到Android手机上,安装后运行,经测试可以顺利玩起来无问题,测试效果如图4所示。制作过程中除了主要的unity之外,使用Photoshop,3DS Max制作素材,使用C#语言代码实现控制,还可以使用视频软件片头片尾导出成apk格式,难点在于如何在unity中播放帧动画(即在游戏中的敌机爆炸死亡动画),如何使物体进行碰撞(collider),是否考虑重力(Is Trigger)以及判断碰撞之后进行的一系列操作等等。   总结整个设计过程,使用unity3D制作飞行类游戏,可以很方便地包括设计敌机的碰撞、飞行速度,碰撞触发的效果,使用产卵器(spawn)随机产生敌机,并控制敌机出现的速率。游戏的操作通过手机触碰屏幕,跟随手指移动方向移动敌机。飞机主角的可以通过手指点选移动并操控,同时自动发射子弹。游戏物体之间的碰撞时通过坐标检测,一旦发生碰撞便出发C#代码的所写的效果。限于本文篇幅,游戏其他部分如计分代码实现、片头片尾动画实现等将在以后逐步完善。   参考文献:   [1] 李发陵.软件工程[M]. 北京: 清华大学出版社, 2013: 212.   [2] Ryan Henson Creighton. Unity 3.x 游戏开发实例[M]. 师蓉,译.北京: 人民邮电出版社, 2013: 324.   [3] 周德云.Flash动画制作与应用[M].北京: 人民邮电出版社, 2012: 352.   [4] 吴亚峰.Android3D游戏案例开发大全[M].北京:人民邮电出版社, 2013: 648.   [5] 宣雨松. unity3D游戏开发[M].北京:人民邮电出版社, 2012: 334.
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。鏌ョ湅: 584|鍥炲?: 3
璇烽棶濡備綍鎶婃父鎴忔墦鍖呮垚.unity3D鐨勬牸寮}

我要回帖

更多关于 unity3d做弹跳的小球 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信