unity开发安卓游戏,unity开发手机游戏

http://www.itjxue.com  2023-01-13 18:03  来源:未知  点击次数: 

Unity游戏移植到Android平台

在Unity界面,File-Building settings,Export Android project。

??另外需要配置一下Player Settings,我的是这样的。注意package Name的名字要与将要移植到android中的package name保持一致。其余的api设置也与android平台保持一致。

在MainActivity中设置按钮的监听事件。新建一个MouseActivity活动。然后打开unity生成的projectw文件中的UnityPlayerActivity.java,将其中的内容全部复制到MouseActivity中(除了首行的package),并修改UnityPlayerActivity类名为MouseActivity。

(这是android studio中的内容)

(这是unity中的,这些也需复制到android studio中)

到现在全部步骤完成,进行run就可以在真机运行了。 (最后运行的图片老是上传失败,没办法了)

unity,Android游戏发布,选择路径时,窗口总是反复弹出,怎样解决?

使用unity开发手机游戏时最不方便的一点是,unity默认不会帮你处理返回按钮的功能。但这个功能确实必不可少,就算是单个场景也是需要通过返回按钮退出应用的。无奈只能自己写一个~~~~

首先写一个单例,挂在第一个加载的unity场景上

public class BackHandler

{

public static BackHandler _instance = new BackHandler ( ) ;

//已加载的场景

private Stack string sceneOrder = new Stack string ( ) ;

public void PopScene ( )

{

if ( Input . GetKeyUp ( KeyCode . Escape ) )

{

if ( sceneOrder . Count 0 )

{

SceneManager . LoadScene ( sceneOrder . Pop ( ) ) ;

}

else

{

//当sceneOrder中没有场景时推出应用

Application . Quit ( ) ;

}

}

}

public void AddScene ( String sceneName )

{

sceneOrder . Push ( sceneName ) ;

}

}

接下来是写了监听返回按钮的功能,所有的场景都挂了这个脚本

public class BackListener : MonoBehaviour

{

void Update ( )

{

BackHandler . _instance . PopScene ( ) ;

}

}

最后在跳转场景的时候加上这段代码就解决了

BackHandler . _instance . AddScene ( SceneManager . GetActiveScene ( ) . name ) ;

SceneManager . LoadScene ( "test1" ) ;

通过上面简单的几行代码基本上就实现的unity中场景的返回栈。

如何在ECS架构下,用Unity引擎进行游戏开发

Unity是目前的世界第一大游戏引擎。2016年的市场份额,超过四大次世代引擎(寒霜,CE,虚幻,起源)之总和。

尤其在手游方面,目前线上的安卓和IOS游戏中,超过60%都是由Unity制作。其中不乏吞金怪兽。比如王者荣耀(互娱),口袋妖怪Go(任天堂,谷歌Niantic Labs),炉石传说(暴雪娱乐),最终幻想:觉醒(史克威尔·艾尼克斯)

凭借Unity,寒霜,CE5接入C脚本,也使C语言轻松取代C++,成为了游戏行业的第一大编程语言。

怎样用Android开发Unity3D游戏

1.认识Unity3D

Unity3D是一个让开发者能够在多平台制作同一款游戏的游戏开发工具,有专业的图像处理和游戏引擎,能做出各式各样的游戏。

羽化以前认为Android游戏开发只能在Eclipse里面死活敲代码,也许是自己阅历不够,不知道游戏引擎能给游戏开发带来如此大的便利,无论是3D游戏还是2D游戏都可以用Unity3D开发而且转成IPHONE游戏也很简单,因为Unity3D很多移动开发功能IPHONE与Android是共用的,其中最主要的控制器就是一样的,这样我们就基本上告别Eclipse了。。。

由于Unity3D里面的脚本是用C#或者Java Script写的,学习过这两个语言最好,不会也没关系,还可以学嘛(和羽化一样),其实C#和JS与Java类似,看起来不会那么陌生,要注意的是JS中无论什么变量声明都是”var”表示,这点对于声明经常出错的羽化来说很好-0-

2. Unity3D环境搭建与Android软件生成方法

这里给大家介绍两个网站,在里面可以下载到最新的UnitySetup-3.3.0包括破解补丁U3v3.3.0f4_Win和脚本编辑器UnityScriptEditor2.55,还有很多学习资料,包括羽化正在学的Unity视频教程(全英文啊=。=),还有全中文帮助文档,虽然现在资料很少,但可以看出Unity3D越来越给力中。。。

安装过程就不详细写了,很简单的。这里要注意的是,安装的系统用户名不要是中文的,要不打开Unity3D以后Scene里面看不到东西,这是羽化的切生体验- -。

1)第一次打开Unity3D后会出现创建Project的界面,这就和Eclipse创建项目一样的道理,这时候可以添加一些插件包,这步操作羽化留在了软件打开后。

2)新建以后就出现了开发界面,这里简单介绍下:

Scene 开发视图:里面可以拖拽物体位置、改变大小、旋转角度等,是开发中最常的地方。

Game 游戏视图:点上面的运行以后游戏就会在Game视图里面运行,没点的时候可以看到摄像机当前的图像。

Hierarchy 层试图:放置游戏物件,在游戏运行时可以观察游戏物件变化

Project 工程视图:里面可以新建文件夹管理脚本,渲染,图片等。

Inspector 检查视图:显示物件属性等

最下面一条,一般情况下不会显示东西,如果出错或者打印语句都是显示在下面:

先不管那么多,生成个Android软件再说。

3)在Project里面右击 ——〉 Import Package ——〉 Standard Assets(Mobile)这是移动开发的包,全部Import导入吧。再在Project里面选中导入的Standard Assets(Mobile)———〉Control Setups——〉CameraRelativeSetup,这会提示保存Scene,我们就保存一个,可以看到Project里面多了一个我们保存的Scene,游戏运行就是从Scene开始,这时应该可以看到这个包的显示了。一眼就看出这是一个演示控制器的包,这个时候我们就不管这个工作原理,先放在Android手机里面看看效果。

4)点击左上角的File菜单——〉Build Settings——〉选中Android——〉右边Development Build勾打上——〉点击下面Player Settings,这时在Insperctor视图里面可以看到一些基本设定,第一个Resolution and Presentation是游戏视图设定,横屏还是竖屏随你可以默认它,点击Other Settings,这里主要设置Identification这个属性,里面第一个相当于项目包,这个一定不能默认,自己随便写个名字比如羽化就是com.LB.first其他设定大家可以自己研究,对于生成这个软件,这步必须改。

5)然后回到窗口点击Build,这里第一次点会跳出一个选中Android SDK的路径,大家都懂的,自己放哪的选哪,确定后,输入一个apk的名字,就叫作LB,如果发生什么错误,可以看看下面的提示。

6)软件已经生成好了后就可以丢到手机里面安装试试了,你可以直接丢在SD卡里面安装,这里羽化给大家介绍个简单的方法,对于模拟器还是真机都适用,首先设置环境变量,在Path里面添加如羽化自己目录的D:android-sdk-windowsplatform-tools,这样就可以在命令控制台里面打命令了,比如羽化安装的命令是cd C:UsersLiBeiDocumentsLB先到apk目录下,再输入adb install LB.apk这里要注意若你原来安装过相同名字软件,先卸载了再装。

7)实际运行效果左摇杆是控制位移,右摇杆是控制方向:

步骤看起很多,其实很简单。

3.Unity3D基本使用方法

这里羽化推荐大家看看视频,看视频学起来得很快,羽化就讲讲自己照视频做的例子,解压后可以通过Open Project选项打开这个例子,选中Scene里面的Scene1打开,运行是在电脑上。

1)场景创建

全是Cube搭建的,看一眼就知道了,Cube可以在上方Gameobject——〉create other里面创建,也点击Hierarchy层视图下面的Create创建,位置调整可以在Scene里面通过左上角的物件选项慢慢调整,第一个是观察,第二个是调整位置,第三个是调整角度,第四个调整大小。

2)主视角

这里主视角是用Standard Assets(这要自己导入)——〉Character Controllers——〉First Person Controller 可以看到这里能直接用的物件其实都是Prefab预设。这里可以看天空,其实是运用了Skybox组件,选中Main Camera可以在菜单中Component——〉Rendering——〉Skybox。

3)光

若无光运行的时候漆黑一片,这里放了个Point Light点光,数值可自行调整,添加和Cube一样。

4)脚本

脚本放在Scripts文件夹下,里面Door是控制门开关,Shoot是鼠标点击事件,Respawn是坠落返原地。注意这里脚本写好以后要拖到对应物体上才能运行。

5)动画

开门其实是个动画,创建在Component——〉Miscellaneous ——〉Animation

6)火焰

火焰是粒子产生的,粒子创建和Cube类似,Particle System里面的数值要做相应调整就会有火焰效果了。

再介绍几个Component里面重要的组件

1)Rigidbody 刚体

刚体顾名思义,有重量,带碰撞都是刚体的属性,若你为一个物件添加这个组件,证明你需要前面这几个属性。

2)Character 人物

其实里面放的都是控制视角或者是主角操作的脚本。

3)Trail Renderer 路径渲染器

很有用的组件,可以看到自己走过的路径,论坛上有个切水果刀光的例子就是用到它。

用Unity3D 开发游戏哪种语言最好

简单介绍

Unity3d游戏开发分网页游戏,flash,java游戏俗称小游戏,基本上都是一些休闲类的傻呆萌的情节和操作,这类游戏开发相对比较简单,会javascript,?flash cs,?java?就可以进行开发了。

主要使用的语言

主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。

各类系统语言介绍

2D页游:AS3 JS;

3D页游:AS3 C#(Unity);

IOS游戏:Obj-C js/lua(Cocos-2d-x) js/C#(Unity) AS3;

安卓游戏:java js/lua(Cocos-2d-x) js/C#(Unity) AS3;

在线小游戏:AS3 JS;

大型单机游戏/客户端MMORPG::C++ C#;

Direct X

相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型。但Direct X接口为了追求高性能功能非常简单基本的绘图功能,不利于游戏的高效开发。

基础语言C/C++

内容比较多,性能画质都要求高,时间金钱和人力必须都足够,c++就是适合的选择了。

lua是因为不用编译,甚至不用重启客户端就能使修改逻辑代码生效,调参尤其方便,动态语言是面向对象最好的归宿。

Javascript 最初是网景和 Sun 共同推出的,后来成了统一 Web 的语言,语法不优美,可读性差,歧义多,手写的话 Bug 率奇高。

其他:

其实用的语言并不重要,关键还是要理解编程的思想,至少精通一门语言,因为c#,lua,as,java本质上都是一样的,只不过语法不同。

(责任编辑:IT教学网)

更多