Unity3D实现打砖块游戏

本文实例为大家分享了Unity3D实现打砖块的具体代码,供大家参考,具体内容如下

基于unity2017

1、 使用Plane创建初始地图

(层级菜单[Hierarcy]-> 3D Object -> Plane)

2、将Plane命名为Gound

3、 更改Scale

x = 2,y = 2,z = 2,将Plane变为原来的两倍

4、在Assest下新建一个文件夹并命名为Material

用于存放材质

5、创建材质

(右键 -> Create -> Mateial),并命名为Gound

6、设置材质的贴图

1).材质的贴图
2).金属度
3).光滑度

7、设置墙壁

1).在Assets中创建一个Prefab目录。
2).在层级目录中创建一个Cube,并将其设为Prefab,设置为Prefab主要是便于整体修改。
3).创建一个空组件,将Cube作为空组件的子组件,并将空组件命名为Bircks
4).为Prefab的Cube组件添加Rigibody属性(物理属性) (点击add Component搜索 Rigibody)
5).使用Ctrl + D 复制方块 与 Ctrl + 左键 按单元格拖动方块

8、创建子弹

在prefab下创建Sphere,同时添加Rigibody属性

9、添加子弹飞出脚本

1).在Assets下创建Script文件夹用于存放脚本
2).右键创建C#脚本,命名为Shoot
3).将Shoot脚本赋予给相机(Main Camera)只需要将脚本拖到Main Camera组件上就可以添加脚本了

4).编辑脚本

public GameObject buttle;//用于获得子弹对象
public float speed = 20F;
    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
        //当鼠标按下左键时触发
        if (Input.GetMouseButtonDown(0))
        {
            //创建子弹对象
           GameObject gb = GameObject.Instantiate(buttle,transform.position,transform.rotation);
           //创建刚体对象
           Rigidbody rg = gb.GetComponent<Rigidbody>();
           //设置子弹初始速度
           rg.velocity = transform.forward * speed;
        }
    }

5).赋予脚本Public属性值

只要脚本声明为public的字段,就可以从外部直接得到,这时将准备好的Prefab的Shpere子弹赋值给Buttle

10、创建镜头移动脚本

方法同上,创建一个Movement的C#脚本,赋予Main Camera

public class Movement : MonoBehaviour {
    public float speed = 5F;
    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
        float h = Input.GetAxis("Horizontal"); //控制水平移动
        float v = Input.GetAxis("Vertical");//控制垂直移动

        //设置摄像机位置
        transform.Translate(new Vector3(h, v, 0) * Time.deltaTime * speed);

    }
}

11、结束

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Unity实现打砖块游戏

    本文实例为大家分享了Unity实现打砖块游戏的具体代码,供大家参考,具体内容如下 效果演示 1.创建墙 1.1我们用预制体来统一管理墙 方便以后对墙进行修改 1.2我们还需要给砖块一个刚体组件(物理属性),不然墙就固定在那里不动. 1.3 把砖块弄出来 再弄成一堵墙 2.发射子弹 我们将子弹也用预制体的方式创造. 这时就到了我们写代码的时候了. using System.Collections; using System.Collections.Generic; using UnityEngin

  • Unity实现弹球打砖块游戏

    本文实例为大家分享了Unity实现弹球打砖块游戏的具体代码,供大家参考,具体内容如下 创作界面记录 摄像机 所需脚本 1射线shexian using System.Collections; using System.Collections.Generic; using UnityEngine; public class sheixian : MonoBehaviour {     public GameObject blit;//定义一个公共的游戏物体来当子弹     AudioSource

  • Unity3D实现打砖块游戏

    本文实例为大家分享了Unity3D实现打砖块的具体代码,供大家参考,具体内容如下 基于unity2017 1. 使用Plane创建初始地图 (层级菜单[Hierarcy]-> 3D Object -> Plane) 2.将Plane命名为Gound 3. 更改Scale x = 2,y = 2,z = 2,将Plane变为原来的两倍 4.在Assest下新建一个文件夹并命名为Material 用于存放材质 5.创建材质 (右键 -> Create -> Mateial),并命名为G

  • Unity3D中shader 轮廓描边效果实现代码

    Unity3D中shader 轮廓描边效果 想利用Unity3D中shader这个功能实现描边轮廓边框效果该怎么做呢,相信有很多搞开发的人想知道,为此下面就给大家介绍下方法. Shade实现描边效果,如下图中的3D球效果图         Shade代码如下: Shader "Outlined/Silhouetted Diffuse" { Properties { _Color ("Main Color", Color) = (1,1,1,1) _OutlineCo

  • Unity3d获取系统时间

    Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎.Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows.Mac.Wii.iPhone.Windows pho

  • Unity3D中脚本的执行顺序和编译顺序

    事件函数的执行顺序 先说一下执行顺序吧. 官方给出的脚本中事件函数的执行顺序如下图: 我们可以做一个小实验来测试一下: 在Hierarchy视图中创建三个游戏对象,在Project视图中创建三条脚本,如下图所示,然后按照顺序将脚本绑定到对应的游戏对象上: 三条脚本的代码完全一样,只是做了一点名称上的区分: using UnityEngine;using System.Collections;public class Scring0 : MonoBehaviour{    void Awake()

  • Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作

    获取当前键盘按键,代码如下: using UnityEngine; using System.Collections; public class GetCurrentKey : MonoBehaviour { KeyCode currentKey; void Start () { currentKey = KeyCode.Space; } void OnGUI() { if (Input.anyKeyDown) { Event e = Event.current; if (e.isKey) {

  • unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android apk)

    unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android apk),总的流程分为以下6个步骤: 1.安装java_jdk 2.配置java环境变量 3.更新android的sdk 4.从Unity3d中发布出apk文件 5.创建android虚拟机并运行 6.将apk文件安装到android虚拟机中 (为方便新手,在下面对每个步骤的具体操作及可能遇到的问题详细提一下) 1.安装java_jdk 官网(www.java.com),免费,我安装的文件的名字是j

  • Unity3D游戏引擎实现在Android中打开WebView的实例

    本文讲述了如何在Unity中调用Android中的WebView组件,实现内部浏览器样式的页面切换.首先打开Eclipse创建一个Android的工程: UnityTestActivity.java 入口Activity ,Unity中会调用这个Activity中的方法从而打开网页. package com.xys; import android.content.Context; import android.content.Intent; import android.os.Bundle; i

  • Unity3D撤回命令开发详解

    本文实例为大家分享了Unity3D撤回命令功能开发,供大家参考,具体内容如下 在类似操作考核的项目中我们经常会遇到回到上一步的需求.所以我们有必要对每一个状态点的所有参与交互的物体的状态进行记录.好了,下面就是代码的实现: 首先肯定要创建命令的基类, public class BaseCommand { //执行命令 public virtual void ExcuteCommand() { } //撤销命令 public virtual void RevocationCommand() { }

  • Unity3D使用GL实现图案解锁功能

    聊天是时候看到有人问如何在Unity3D的UGUI中实现图案解锁的功能,然后便试了一下.刚开始想用LineRender来实现,但又一想是要在UGUI中,然后就用了另外一种方法,即使用GL类来实现. GL相关介绍及官方文档 实现后在Android手机上跑的效果如下: 主要实现GraphicUnLockManager类.代码如下: using UnityEngine; using System.Collections.Generic; using System; using UnityEngine.

  • Unity3D Shader实现扫描显示效果

    本文实例为大家分享了Unity3D Shader实现扫描显示的具体代码,供大家参考,具体内容如下 通过Shader实现,从左向右的扫描显示,可自定义扫描颜色.宽度.速度. 效果图如下 编辑器界面如下 Shader源码如下 Shader "XM/ScanEffect" { Properties { _MainTex("Main Tex", 2D) = "white"{} _lineColor("Line Color", Colo

随机推荐