2017-07-03 11:28:22 RunAndBug 阅读数 1185
  • Unity轻松制作塔防游戏

    玩儿过塔防游戏吗?听说过《保卫萝卜》和《塔防战争》吗?本系列课程使用简单易懂的逻辑带你一起剖析这类游戏制作的过程。本案例完美展示了该类项目从搭建到完成的完整架构体系,无论代码设计还是结构布局都是悉心安排。想知道如何使用四元数跟随目标旋转吗?想知道如何使用曲线实现淡入淡出吗?本课程经过精心录制,带你轻松学习更多知识,只要你对Unity有一些基本操作的认识,就可以跟着老师一起完成这款游戏。

    11130 人正在学习 去看看 张增会

一个简单的射击方块的游戏

链接:http://pan.baidu.com/s/1nuThGI9

2015-02-16 13:16:55 book_longssl 阅读数 1965
  • Unity轻松制作塔防游戏

    玩儿过塔防游戏吗?听说过《保卫萝卜》和《塔防战争》吗?本系列课程使用简单易懂的逻辑带你一起剖析这类游戏制作的过程。本案例完美展示了该类项目从搭建到完成的完整架构体系,无论代码设计还是结构布局都是悉心安排。想知道如何使用四元数跟随目标旋转吗?想知道如何使用曲线实现淡入淡出吗?本课程经过精心录制,带你轻松学习更多知识,只要你对Unity有一些基本操作的认识,就可以跟着老师一起完成这款游戏。

    11130 人正在学习 去看看 张增会



  1.创建一个项目
  2.将Camera设置为正交投影
  游戏的输出画面是通过摄像机所观察的场景来实现的,将场景呈现到2D的计算机屏幕上具有两种不同的投影方式:透视投影和正交投影,默认状态下是透视投影.
  透视投影
  

  正交投影
  

  3.添加相关对象模型
  移动摄像机物体,灯光到如下效果
  

  添加游戏物体移动超出边框的控制
  using UnityEngine;
  using System.Collections;
  public class Player:MonoBehaviour {
  public float playerSpeed;
  // Use this for initialization
  void Start () {
  }
  // Update is called once per frame
  void Update () {
  float amtToMove = Input.GetAxis("Horizontal")*Time.deltaTime*playerSpeed;
  gameObject.transform.Translate(Vector3.right*amtToMove);
  if(transform.position.x-7.5){
  //如果方块移动超出游戏窗体右边,方框将从左边窗口进入
  transform.position = new Vector3(5.25f,transform.position.y,transform.position.z);
  }
  if(transform.position.x5.25){
  //如果方块移动超出游戏窗体右边,方框将从左边窗口进入
  transform.position = new Vector3(-7.5f,transform.position.y,transform.position.z);
  }
  }
  }
  4.创建炮弹[create-Capsule]
  

  根据需要调整炮弹的大小


  选择炮弹模型,单机Component菜单,选择Physics-RigidBody,将炮弹设置为刚体,以便后面实现碰撞检测.
  为炮弹添加移动操作脚本
  using UnityEngine;
  using System.Collections;
  public class bulletTile : MonoBehaviour {
  public float bulletSpeed ;
  private Transform mytransform;
  // Use this for initialization
  void Start () {
  mytransform = gameObject.transform;
  }
  // Update is called once per frame
  void Update () {
  //定义炮弹移动速度
  float amtToMove = bulletSpeed * Time.deltaTime;
  //让炮弹垂直向上移动
  mytransform.Translate(Vector3.up * amtToMove);
  //如果炮弹移动超出游戏场景则销毁炮弹
  if(mytransform.position.y5.15){
  Destroy(this.gameObject);    //销毁当前对象
  }
  }
  }
  对象重用
  在Project中创建一个Prefab对象,然后将要重用的对象模型拖动到该Prefab对象上,即可实现模型对象的重用.
  发射子弹的实现
  在Player脚本中创建Prefab可重用对象实例
  using UnityEngine;
  using System.Collections;
  public class Player:MonoBehaviour {
  public float playerSpeed;
  public GameObject bulletPrefab;
  // Use this for initialization
  void Start () {
  }
  // Update is called once per frame
  void Update () {
  float amtToMove = Input.GetAxis("Horizontal")*Time.deltaTime*playerSpeed;
  gameObject.transform.Translate(Vector3.right*amtToMove);
  if(transform.position.x-7.5){
  //如果方块移动超出游戏窗体右边,方框将从左边窗口进入
  transform.position = new Vector3(5.25f,transform.position.y,transform.position.z);
  }
  if(transform.position.x5.25){
  //如果方块移动超出游戏窗体右边,方框将从左边窗口进入
  transform.position = new Vector3(-7.5f,transform.position.y,transform.position.z);
  }
  //获取发射器位置 发射器的正上方
  Vector3 position = new Vector3(transform.position.x,transform.position.y+transform.localScale.y/2.0f,transform.position.z);
  //按下空格键发射子弹
  if(Input.GetKeyDown("space")){
  //实例化一个炮弹对象
  Instantiate(bulletPrefab,position,Quaternion.identity);
  }
  }
  }
  

  拖动表示将属性实例化,因为我们脚本中定义的是public属性,在这里我们可以手动为public属性赋值,此时运行程序,用左右键控制发射器的移动,用space发射子弹.
  

  应用实例:
  游戏中声音的添加与控制
  支持的声音文件:*.aiff,*.wav,*.mp3,*.ogg
  .AIFF
  转换为无压缩音频导入,最适合短音效果。可以在编辑器中按需求压缩。
  .WAV
  转换为无压缩音频导入,最适合短音效果。可以在编辑器中按需求压缩
  .MP3
  转换成Ogg格式导入,最适合较长的音乐曲目。
  .OGG
  压缩音频格式(与iPhone设备和某些Android设备不兼容),最适合较长的音乐曲目。
  添加声音控制按钮,
  void OnGUI(){
  GUI.Button (new Rect (10,10,100,35), "播放音乐");
  GUI.Button (new Rect (10,60,100,35), "暂停播放");
  GUI.Button (new Rect (10,110,100,35), "停止音乐");
  }
  

  为按钮添加事件
  void OnGUI(){
  if(GUI.Button (new Rect (10,10,100,35), "播放音乐")){
  gameObject.audio.Play();
  }
  if(GUI.Button (new Rect (10,60,100,35), "暂停播放")){
  gameObject.audio.Pause().
  }
  if(GUI.Button (new Rect (10,110,100,35), "停止音乐")){
  gameObject.audio.Stop();
  }
  }
  5.为发射炮弹添加声音
  选中bulletPrefab,单机窗体中的Component-Audio-AudionSource
  

  



2014-03-28 13:00:32 modiziri 阅读数 938
  • Unity轻松制作塔防游戏

    玩儿过塔防游戏吗?听说过《保卫萝卜》和《塔防战争》吗?本系列课程使用简单易懂的逻辑带你一起剖析这类游戏制作的过程。本案例完美展示了该类项目从搭建到完成的完整架构体系,无论代码设计还是结构布局都是悉心安排。想知道如何使用四元数跟随目标旋转吗?想知道如何使用曲线实现淡入淡出吗?本课程经过精心录制,带你轻松学习更多知识,只要你对Unity有一些基本操作的认识,就可以跟着老师一起完成这款游戏。

    11130 人正在学习 去看看 张增会


Unity3D是一款让你轻松创建游戏的多平台综合型游戏开发工具,是一个全面整合的专业游戏引擎。

兼容游戏平台:windows, Mac, wii, iphone, Android 还有网页,支持网页浏览

支持:JS,C#,Boo脚本,一般用C#写

集成MonoDeveloper的编译平台,对代码的运行效率和资源开销有分析工具,可以实时优化代码


特色

简单易操作的用户界面

廉价

对opengl,directX有高度优化的图形渲染管道

支持所有主要文件格式

一键部署,多平台呈现

可以联网,从单人游戏到实时多人游戏











2018-04-10 18:24:19 qq_36297981 阅读数 2407
  • Unity轻松制作塔防游戏

    玩儿过塔防游戏吗?听说过《保卫萝卜》和《塔防战争》吗?本系列课程使用简单易懂的逻辑带你一起剖析这类游戏制作的过程。本案例完美展示了该类项目从搭建到完成的完整架构体系,无论代码设计还是结构布局都是悉心安排。想知道如何使用四元数跟随目标旋转吗?想知道如何使用曲线实现淡入淡出吗?本课程经过精心录制,带你轻松学习更多知识,只要你对Unity有一些基本操作的认识,就可以跟着老师一起完成这款游戏。

    11130 人正在学习 去看看 张增会

下面演示一下如何用unity3d制作一个自己的游戏场景

1. 导入环境资源
Assets -> import packet -> environments
2. 新建terrain

这里写图片描述

3.在terrain上画上山脉,种树 ,种草

这里写图片描述

4.对游戏场景进行一些优化

这里写图片描述

2014-11-21 20:53:01 book_longssl 阅读数 1607
  • Unity轻松制作塔防游戏

    玩儿过塔防游戏吗?听说过《保卫萝卜》和《塔防战争》吗?本系列课程使用简单易懂的逻辑带你一起剖析这类游戏制作的过程。本案例完美展示了该类项目从搭建到完成的完整架构体系,无论代码设计还是结构布局都是悉心安排。想知道如何使用四元数跟随目标旋转吗?想知道如何使用曲线实现淡入淡出吗?本课程经过精心录制,带你轻松学习更多知识,只要你对Unity有一些基本操作的认识,就可以跟着老师一起完成这款游戏。

    11130 人正在学习 去看看 张增会


多玩家联网游戏

实时网络是一个复杂的领域,但 Unity 使添加网络功能到游戏中变得简单。然而,在游戏中使用实时网络之前了解一下网络范围是非常有用的。该部分介绍网络基础以及 Unity 执行的细节。如果您之前从未创建过网络游戏,则强烈建议您在开始之前详细阅读本指南。

高级概览

该部分概述网络中涉及的所有概念,介绍了更深入的主题。

 中的网络元素

指南该部分涵盖了 Unity 对概览中所解释概念的实施。

RPC 细节

远程过程调用 (Remote Procedure Call) 或 RPC 是在远程机器上调用函数的方式。这可以是客户端调用服务器上的函数,或者是服务器调用一些或所有客户端上的函数。该部分详细讲解了 RPC 概念。

状态同步

状态同步 (State Synchronization) 是一种在两个或更多个于网络上运行的游戏实例中定期更新一系列特定数据的方法。

尽量减少带宽

您就分享数据位置和方法所做的每个选择将影响游戏所使用网络带宽。该页面讲解使用带宽及尽量减少使用率的方法。

网络视图

网络视图 (Network Views) 是用来在网络中分享数据的组件 (Components),是 Unity 网络的基本方面。该页面将对互进行详细讲解。

网络实例化

网络中的一个复杂问题是对对象的所有权及决定由谁控制什么。如该部分所讲解,网络实例化 (Network Instantiation) 将为您处理该任务。对于您需要更好控制对象所有权的情况,该部分还涵盖了一些更复杂的替代方案。

主服务器

主服务器 (Master Server) 就像一个游戏大厅,服务器可以在这里向客户端宣告它们的存在。它也使用一种称为 NAT 穿透能力(在服务商的帮助下)的技术从防火墙或家庭网络后面启用通信,以确保玩家始终能相互连接。该页面讲解如何使用主服务器 (Master Server)。


没有更多推荐了,返回首页