unity3d用的人挺多。

。本来想写个3d游戏试试。

。额。。貌似挺麻烦。。 。

。。

。。先用unity写个简单的2d游戏吧。。

(adsw回车  或者  触摸屏虚拟摇杆)

开发环境 unity4.5.1f3      vs2013 express       win8.1

实现方法例如以下

1.创建自己的坦克Sprite

2.创建敌方坦克Prefab

3.创建子弹Prefab

4.加入虚拟摇杆

5.碰撞检測

详细实现

1.控制自己坦克的代码

		if (Input.GetKey (KeyCode.W)) {
Rotate (0);
}
else if (Input.GetKey (KeyCode.S)) {
Rotate (180);
} else if (Input.GetKey (KeyCode.A)) {
Rotate (90); } else if (Input.GetKey (KeyCode.D)) {
Rotate (270);
} i++;
if (i == 10) {i=0;
if (Input.GetKey (KeyCode.Return)||rotateJoystick.tapCount > 0) {
m.tag = "GOOD";
Instantiate (m, transform.position, transform.rotation);
}
}

2.控制地方坦克的代码

		if (step == 0)
{
int i=Random.Range(0, 4);
Rotate(angles[i]);
step = Random.Range(0, 20) + 85;
if(Random.Range(0,50)>40)
{
m.tag="BAD";
Instantiate(m, transform.position, transform.rotation);
}
}
else
{
step--;
}
transform.Translate (Vector3.up*Time.deltaTime*4);

3.控制子弹移动

transform.Translate (Vector3.up * Time.deltaTime * 10);

4.虚拟摇杆用的Untiy   里面  Standard Assets(Mobile).unityPackage自带的

5.碰撞检測代码

	void OnTriggerEnter2D(Collider2D mCollider)
{
if ((mCollider.gameObject.tag == "Enemy"&&gameObject.tag=="GOOD")||(mCollider.gameObject.tag == "Player"&&gameObject.tag=="BAD"))
{
Destroy(mCollider.gameObject);
Destroy(this.gameObject);
if(gameObject.tag=="BAD")
{
PlayerPrefs.SetString("key","OVER");
Application.LoadLevel(1);
}
}
}

代码下载:http://download.csdn.net/detail/xiaoxiao108/7674235





假设你发现有什么不合理的,须要改进的地方,请留言。或者能够通过 328452421@qq.com 联系我。很感谢。

unity + win8.1 apps 小游戏demo的更多相关文章

  1. 微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js)

    微信小游戏 demo 飞机大战 代码分析(四)(enemy.js, bullet.js, index.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞 ...

  2. 微信小游戏 demo 飞机大战 代码分析 (三)(spirit.js, animation.js)

    微信小游戏 demo 飞机大战 代码分析(三)(spirit.js, animation.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码 ...

  3. 微信小游戏 demo 飞机大战 代码分析 (二)(databus.js)

    微信小游戏 demo 飞机大战 代码分析(二)(databus.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码分析(三)(spirit. ...

  4. 微信小游戏 demo 飞机大战 代码分析 (一)(game.js, main.js)

    微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码分析(二)(databus.js) 微信小游戏 demo 飞机大战 代码分析(三)(spirit. ...

  5. Unity手撸2048小游戏——模块拆分

    最近惹女票生气了,想起撸个游戏来哄哄她,加之以前在小恩爱App上,玩过那情侣版的2048,加之她喜欢玩这类益智类的游戏,打算撸一个3D的情侣版2048.不过之前没怎么独立做过游戏,就从2D的开始吧. ...

  6. Unity手撸2048小游戏——自动生成4*4棋盘

    1.新建文件夹,命prefabs,将刚刚做成的Chessman拖入该文件下,做成预制体 2.删除panel下的Chessman 3.在panel下,新建一个空对象,命名为Chessboard,大小设置 ...

  7. Python2048小游戏demo

    # -*- coding:UTF-8 -*- #! /usr/bin/python3 import random v = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, ...

  8. Unity手撸2048小游戏——背景文字控制

    今天继续昨天的计划吧 1.新建项目.场景命名啥的都不说了吧. 2.直接开始新建一个Image,顺便把Image改名成Chessman 3.选中Image新建一个Text对象,调整下大小位置.这样就算完 ...

  9. 学习unity的第一个小游戏(Roll the ball)的笔记

    1.摄像机的跟随运动,逻辑就是保持摄像机跟主角的距离不变(Undate()函数). offset=trandform.position-player.position. Undate() { tran ...

随机推荐

  1. android开发步步为营之67:使用android开源项目android-async-http异步下载文件

    android-async-http项目地址 https://github.com/loopj/android-async-http.android-async-http顾名思义是异步的http请求, ...

  2. ArcGIS Pro体验03——主界面

    主界面和Office类似,应该上手比较快.新建Map后,加载了美国地图,毕竟是ESRI公司嘛.除项目(PROJECT),另外还有六个菜单面板,分别是地图(MAP).插入(INSERT).分析(ANAL ...

  3. wepy - 与原生有什么不同(slot插槽)

    wepy官方文档是这样介绍的 简单描述就是: index.wpy:子组件 panel.wpy:父组件 1.slot是内容分发的占位符 2.slot父组件在子组件使用时,名称必须一致 3.slot子组件 ...

  4. [转]intellij 13新建javaweb项目并用tomcat 7启动

    来自:http://blog.csdn.net/little__zm/article/details/19570535 对intellij不熟,找了很多文章,只这篇最为顺利.其他都有各种各校的问题,先 ...

  5. POSIX 线程详解

    一种支持内存共享的简捷工具 POSIX(可移植操作系统接口)线程是提高代码响应和性能的有力手段.在本系列中,Daniel Robbins 向您精确地展示在编程中如何使用线程.其中还涉及大量幕后细节,读 ...

  6. 各种样式的table 及 代码

    1.模板一 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...

  7. Redis学习(8)-redis持久化

    内存(兔子):高效,断电数据丢失 硬盘(乌龟):读写速度慢于内存的,断电数据依旧存在 持久化:把数据保存在硬盘上 关系型数据库:MySQL-持久化: 任何操作都是硬盘上,断电以后,硬盘上数据还在. 非 ...

  8. 将Gradle项目公布到maven仓库

    将Gradle项目公布到maven仓库 1 Gradle简单介绍 1.1 Ant.Maven还是Gradle? 1.1.1 Ant和Maven介绍 全称为Apache Maven,是一个软件(特别是J ...

  9. openGL 坐标系的互相转换

    openGL坐标系包括旋转,平移,缩放被塞在一个矩阵里面. 坐标系之间的转换基础是矩阵的运算. 每个矩阵代表的坐标系,就是是原点坐标系通过旋转.平移,缩放得到的坐标系. 当一个矩阵右乘一个向量或是还有 ...

  10. mysql之InnoDB内存管理

    InnoDB缓冲池是通过LRU算法来管理page的.频繁使用的page放在LRU列表的前端,最少使用的page在LRU列表的尾端,缓冲池满了的时候,优先淘汰尾端的page. InnoDB中的LRU结构 ...