【Unity】1.2 HelloWorld--测试桌面和Android游戏能否正常运行
分类:Unity、C#、VS2015
创建日期:2016-03-23
一、简介
这一节先搞一个最简单的Unity游戏,目的是为了验证Unity的桌面游戏开发环境和Android游戏开发环境是否有问题。实现的功能是:
将该游戏部署在桌面计算机上,运行窗口中显示一个“Hello World!”。
将该游戏部署在Android x86模拟器中,运行界面上显示一个“Hello World!”。
二、设计步骤
1、新建项目
运行Unity,选择“New”,输入项目名HelloWorld,选择“3D”:

单击【Create Project】,它就会自动进入Unity3D开发界面。
下面是场景(Scene)面板中视图的常用操作:
按下鼠标中键:平移视图
Alt + 左键:旋转视图
Alt + 右键(或滚轮):推拉视图
2、创建脚本文件
鼠标右击Project下的【Asset】,选择【Create】-->【Folder】,文件夹命名为“Scripts”。
右击【Asset】下的【Scripts】-->【Create】à【C# Script】,将其命名为HelloWorld。
双击HelloWorld,它就会自动在VS2015中打开该文件。

将HelloWorld.cs文件改为下面的内容:
using UnityEngine;
using System.Collections; public class HelloWorld : MonoBehaviour
{
// Use this for initialization
void Start()
{
Screen.fullScreen = false;
} // Update is called once per frame
void Update()
{ } //显示Hello World
void OnGUI()
{
GUI.skin.label.fontSize = 85;
// 显示区域(x,y,w宽,h高),“显示的文本”)
GUI.Label(new Rect(75, 50, Screen.width, Screen.height), "Hello World!");
}
}
按<F5>附加到Unity(Atach to Unity),编译成功后,按<Shift>+<F5>结束。
3、将脚本添加到主相机(Main Camera)中
切换到Unity开发环境,将刚创建的.cs脚本添加到主相机(Main Camera)中。
办法1:将Assets中的脚本文件拖放到Hierarchy中的“Main Camera”上。

办法2:先在Hierarchy(层次视图)里选中“Main Camera”,然后从“Component”菜单的“Scripts”里选中HelloWorld脚本。当主相机处于选中状态时,从“Inspector”面板中就可看到用于相机的HelloWorld脚本文件了。
4、测试运行效果
按下图上方中间的【播放】(三角符号)按钮,即可看到下面的结果:

再次按【播放】按钮结束测试。
5、保存场景
选择【File】-->【Save Scene】,输入场景名称“HelloWorld”:

6、将场景添加为关卡
游戏都是一关一关的让玩家去玩的,每一关都称为一个“关卡”。
三、将项目发布为在桌面上运行的游戏
1、设置窗口大小
选择【File】-->【Build Settings...】,在弹出的“Build Settings”窗口中,单击“Add Open Scenes”按钮,此时它就会自动添加HelloWorld.unity文件到场景集合中。如下图所示:

在“Build Settings”窗口中,单击“Player Settings”,将游戏窗口设置为800×600(也可以设置为其他大小):

2、发布游戏
在“Build Settings”窗口中,选择要发布的关卡(HelloWorld.unity),单击【Build And Run】按钮,在弹出的窗口中,文件名改为“HelloWorld.exe”,如下图所示,单击“保存”:

此时即可看到弹出的运行窗口,与按“播放”按钮看到的结果相同。

出现此界面,说明Unity的桌面游戏开发环境安装成功。
四、将项目发布为在Android中运行的游戏
1、修改首选项
选择【Edit】—>【Preference…】:

在首选项窗口中,设置【SDK】、【JDK】路径(见C#之Android App开发中介绍的安装步骤),此处的NDK为空即可。如下图所示:

设置后关闭该窗口。
注意Unity使用的是64位的Android NDK r10e,不是原来已经安装的32位的Andoid NDK r10e。如果你希望在这个界面中输入NDK路径,可单击【Download】直接下载64位的自解压文件,下载后将其解压到某个文件夹下再指定这个路径就行了。
2、修改Android清单配置
选择【File】-->【Build Settings...】,在弹出的“Build Settings”窗口的“Platform”选项中,选择“Android”,然后单击单击“Player Settings”:

接着修改【Other Settings】为下面的内容:

3、启动x86 API 23模拟器
切换到VS2015,启动x86 API 23模拟器:


稍等片刻,等模拟器启动完毕后,再执行下面的发布游戏步骤。
4、发布游戏
在“Build Settings”窗口中,单击【Build And Run】按钮:

在弹出的窗口中,文件名改为“HelloWorld.apk”,如下图所示,单击“保存”:

此时就可以在x86模拟器中看到运行的效果了,如下图所示:

可见,不论是将游戏发布到桌面上还是发布到Android手机或模拟器上,步骤(二)介绍的基本设计步骤都是一样的(以后个别地方不同的平台会有稍微的不同)。因此,在接下来的章节中,我们仅掌握桌面游戏的基本开发步骤就行了,因为掌握了桌面游戏开发的基本步骤,再根据发布到的平台,再修改一下相关的代码就行了。
【Unity】1.2 HelloWorld--测试桌面和Android游戏能否正常运行的更多相关文章
- Google Map和桌面组件 Android开发教程
本文节选于机械工业出版社推出的<Android应用开发揭秘>一 书,作者为杨丰盛.本书内容全面,详细讲解了Android框架.Android组件.用户界面开发.游戏开发.数据存储.多媒体开 ...
- 关于基于python2.7的unity自动化测试框架GAutomator测试环境的搭建(源码网盘下载地址:https://pan.baidu.com/s/1c2TXwtU)
关于基于python 2.7的unity自动化测试框架GAutomator测试环境的搭建 百度云盘链接(思维图学习资料):https://pan.baidu.com/s/1dFWExMD 准备工作(具 ...
- 使用calabash测试开源中国Android客户端
Calabash-android是支持android的UI自动化测试框架,前面已经介绍过<中文Win7下成功安装calabash-android步骤>,这篇博文尝试测试一个真实应用:开源中 ...
- Android训练课程(Android Training) - 测试你的Android Activity
你应该开始编写和启动测试作为你的android程序开发周期的一部分.写的好的测试能够帮助你更早的发现bug和使你对你的代码有信心. 一个测试用例定义了一些对象和方法的集合,用于启动多样的彼此独立的测试 ...
- unity开发android游戏
环境搭建: Unity+JDK+Android Studio+Android SDK(+NDK) 教程:unity开发android游戏(一)搭建Unity安卓开发环境 注意“Build System ...
- unity开发android游戏(一)搭建Unity安卓开发环境
unity开发android游戏(一)搭建Unity安卓开发环境 分类: Unity2014-03-23 16:14 5626人阅读 评论(2) 收藏 举报 unity开发androidunity安卓 ...
- Unity Shader之模板测试
Unity Shader之模板测试 一沙一世界,一花一天堂 一.Stencil testing 渲染管线 当片段着色器处理完一个片段之后,模板测试(Stencil Test)会开始执行,和深度 ...
- Android游戏引擎总汇 原文出处:http://software.intel.com/en-us/blogs/2012/03/13/game-engines-for-android?page=1
随着Android系统的使用越来越广泛,了解一下Android平台下的游戏引擎就非常有必要.而同时因为基于Intel x86的移动设备越来越多,我也非常关注支持x86的移动游戏引擎.然而就目前为止游戏 ...
- 转 iOS和android游戏纹理优化和内存优化(cocos2d-x)
iOS和android游戏纹理优化和内存优化(cocos2d-x) (未完成) 1.2d游戏最占内存的无疑是图片资源. 2.cocos2d-x不同平台读取纹理的机制不同.ios下面使用CGImage, ...
随机推荐
- java自定义线程池
如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间.那么有没有一种办法使得线程可以复用,就是执行完一个任 ...
- 前端-CSS-9-文本和字体-背景颜色
字体属性 div{ width: 300px; height: 100px; /*background-color: red;*/ border: 1px solid red; /*设置字体大小 px ...
- 【337】Text Mining Using Twitter Streaming API and Python
Reference: An Introduction to Text Mining using Twitter Streaming API and Python Reference: How to R ...
- js 获取字符串的 像素 宽度 ----字符串格式化输出
function getLenPx(str, font_size) { var str_leng = str.replace(/[^\x00-\xff]/gi, 'aa').length; retur ...
- 跨域请求设置withCredentials
最近在做运动城项目,这一个项目下面有多个子项目,如主数据项目,pos项目等.主数据项目的域名为www.topmall.com,POS项目的域名为pos.topmall.com.即两个项目的主域名相同, ...
- Python int() 函数
Python int() 函数 Python 内置函数 描述 int() 函数用于将一个字符串或数字转换为整型. 语法 以下是 int() 方法的语法: class int(x, base=10) ...
- 百度Cafe原理--Android自动化测试学习历程
主要讲解内容及笔记: 一.Cafe原理 Cafe是一款自动化测试框架,解决问题:跨进程测试.快速深度测试 官网:http://baiduqa.github.io/Cafe/ Cafe provides ...
- python之面向对象之继承
#写一个类SchoolMember class SchoolMember(object): member_num = 0 def __init__(self,name,age,sex): self.n ...
- nginx 反向代理 502 Bad Gateway
查看nginx的error.log日志文件发现如下信息: upstream sent too big header while reading response header from upstrea ...
- struts2框架之OGNL表达式概述(在代码中使用OGNL表达式)
1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写 * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象 * 通 ...