分类: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游戏能否正常运行的更多相关文章

  1. Google Map和桌面组件 Android开发教程

    本文节选于机械工业出版社推出的<Android应用开发揭秘>一 书,作者为杨丰盛.本书内容全面,详细讲解了Android框架.Android组件.用户界面开发.游戏开发.数据存储.多媒体开 ...

  2. 关于基于python2.7的unity自动化测试框架GAutomator测试环境的搭建(源码网盘下载地址:https://pan.baidu.com/s/1c2TXwtU)

    关于基于python 2.7的unity自动化测试框架GAutomator测试环境的搭建 百度云盘链接(思维图学习资料):https://pan.baidu.com/s/1dFWExMD 准备工作(具 ...

  3. 使用calabash测试开源中国Android客户端

    Calabash-android是支持android的UI自动化测试框架,前面已经介绍过<中文Win7下成功安装calabash-android步骤>,这篇博文尝试测试一个真实应用:开源中 ...

  4. Android训练课程(Android Training) - 测试你的Android Activity

    你应该开始编写和启动测试作为你的android程序开发周期的一部分.写的好的测试能够帮助你更早的发现bug和使你对你的代码有信心. 一个测试用例定义了一些对象和方法的集合,用于启动多样的彼此独立的测试 ...

  5. unity开发android游戏

    环境搭建: Unity+JDK+Android Studio+Android SDK(+NDK) 教程:unity开发android游戏(一)搭建Unity安卓开发环境 注意“Build System ...

  6. unity开发android游戏(一)搭建Unity安卓开发环境

    unity开发android游戏(一)搭建Unity安卓开发环境 分类: Unity2014-03-23 16:14 5626人阅读 评论(2) 收藏 举报 unity开发androidunity安卓 ...

  7. Unity Shader之模板测试

    Unity Shader之模板测试 一沙一世界,一花一天堂 一.Stencil testing 渲染管线     当片段着色器处理完一个片段之后,模板测试(Stencil Test)会开始执行,和深度 ...

  8. Android游戏引擎总汇 原文出处:http://software.intel.com/en-us/blogs/2012/03/13/game-engines-for-android?page=1

    随着Android系统的使用越来越广泛,了解一下Android平台下的游戏引擎就非常有必要.而同时因为基于Intel x86的移动设备越来越多,我也非常关注支持x86的移动游戏引擎.然而就目前为止游戏 ...

  9. 转 iOS和android游戏纹理优化和内存优化(cocos2d-x)

    iOS和android游戏纹理优化和内存优化(cocos2d-x) (未完成) 1.2d游戏最占内存的无疑是图片资源. 2.cocos2d-x不同平台读取纹理的机制不同.ios下面使用CGImage, ...

随机推荐

  1. How to Pronounce WH Words — what, why, which

    How to Pronounce WH Words — what, why, which Share Tweet Share Have you noticed that there are two d ...

  2. LayeruI Loadding Custom word

    var getTableResult = function (pageIndex, pageSize) { var index = layer.load(2, { content: '加载中..... ...

  3. SQL 2008登录的域账户与数据库服务器不再同一个域的 处理方法

    try this: Use RUNAS to set your Windows Auth domain for database connections runas /user:domain\user ...

  4. js 获取input选择的图片的信息

    1JS $("#btn").click(function () { var imageEle = document.getElementById("images" ...

  5. 登录时显示403 Access Denied

    用户名及密码设置如下: 在tomcat安装目录\conf\tomcat-users.xml中的<tomcat-users>标签内设置: <role rolename="ma ...

  6. Spring简单获得实体类的实例, 使用ApplicationContext()方法的几点注意事项

    今天接触了Spring的初步用法, 感觉跟实例化实体类没啥区别, 像这种简单的代码还不如直接实例化来的方便, 这样使用Spring的话总共需要三个文件 第一个当然是一个实体类了, 定义好属性, get ...

  7. Matlab中插值函数汇总(上)

    Matlab中插值函数汇总分上下两个部分,主要整合自matlabsky论坛dynamic发表于2009-2-21 21:53:26 的主题帖,以及豆丁网rickoon上传的教材第8章<插值,拟合 ...

  8. Python staticmethod() 函数

    Python staticmethod() 函数  Python 内置函数 python staticmethod 返回函数的静态方法. 该方法不强制要求传递参数,如下声明一个静态方法: class ...

  9. CloseableHttpClient(二)

    package com.cmy.httpClient; import java.io.IOException; import org.apache.http.HttpEntity; import or ...

  10. SVN版本冲突问题

    --------------------siwuxie095 SVN 版本冲突问题 如:Jack 和 Mary 从仓库中将项目下载到本地,然后 Jack 修改了 项目中的一个文件,并上传到仓库中,之后 ...