先学习一些基本的脚本实现:

1.动态创建物体.默认位置是(0,0)位置

GameObject goNew = GameObject.CreatePrimitive(PrimitiveType.Cube);
//创建的位置

goNew.transform.position = new Vector3(0, 0, -2);

goNew.AddComponent<Rigidbody>();//添加刚体组件,是一种泛型

2.判断用户是否按下鼠标左键

if(Inut.GetMouseButtonDown(0))

3.按下鼠标左键,给它一个往前的脉冲力,forward就是一个默认长度为1的单位向量

this.gameObject.rigidbody.AddForce(Vector3.forward * 50, ForceMode.Impulse);

4.给当前物体添加一个往鼠标点击的方向的多大的力,它就会往那个方向去走

//点击目标然后从摄像机的位置发射出一个小球,这里要计算力的方向向量

Vector3 targetPos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 3));
Vector3 dir = targetPos - Camera.main.transform.position;
//给当前的物体添加某个方向的力
this.gameObject.rigidbody.AddForce(dir * 5,ForceMode.Impulse);

5.点击鼠标生成对象
if (Input.GetMouseButtonDown(0))
{
     GameObject goNew = GameObject.CreatePrimitive(PrimitiveType.Sphere);
     goNew.transform.position = new Vector3(0, 0, 0);
      goNew.AddComponent<Rigidbody>();
}

6.对象销毁回收内存
if (Input.GetMouseButtonDown(0))
{
      GameObject s1 = GameObject.Find("Sphere");//相当于document.getElementById();
       Destroy(s1,2); //延时2秒销毁对象
}

制作游戏:

using UnityEngine;
using System.Collections;

public class gameText : MonoBehaviour {

private GameObject goPlane;

// Use this for initialization
void Start () {
        //找到地形对象
        goPlane = GameObject.Find("Plane");

//创建4*4的cube
        for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);
                go.transform.position = new Vector3(i, j, -1);
                go.AddComponent<Rigidbody>();
                go.AddComponent<AutoDistory>();//相当于实例化一个脚本销毁对象的一个类然后挂到每个对象中,让他不可见的时候自行销毁
            }
        }
}

// Update is called once per frame
void Update () {
        if (Input.GetMouseButtonDown(0))
        {
            //创建子弹的object
            GameObject goBullet = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            goBullet.transform.position = Camera.main.transform.position;
            goBullet.AddComponent<Rigidbody>();
            //让对象不可见的时候自行销毁
            goBullet.AddComponent<AutoDistory>();
            
            //获取到这个对象的多有资源,在发射的时候播放一个音乐
            goPlane.GetComponent<AudioSource>().Play();

//点击鼠标,从摄像机的位置开始发射小球
            Vector3 targetPos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 3));
            goBullet.rigidbody.AddForce((targetPos - Camera.main.transform.position) * 20, ForceMode.Impulse);
            
        }

}
    void OnGUI()
        {
            string s = "作者:丁小未";
            GUIStyle bb = new GUIStyle();
            bb.normal.background = null;//设置背景
            bb.normal.textColor = new Color(1,0,0);//设置颜色
            bb.fontSize = 40;
            GUI.Label(new Rect(40, 10, 100, 50), s, bb);
  
        }
}

AutoDistory脚本:

using UnityEngine;
using System.Collections;

//当东西不可见的时候就让他自动销毁
public class AutoDistory : MonoBehaviour {

// Use this for initialization
void Start () {
}

// Update is called once per frame
void Update () {
}

void OnBecameInvisible()
    {
        Destroy(this.gameObject);
    }
}

其他提示:

1.天空盒的导入,提醒不要全部导入,不然文件会很大,应用是点击Edit-》Render Setting,然后导入天空盒

2.音频文件是在Camera上添加Component->Audio->Audio Sourse,他自动附带的Audio Listenner

详细项目源码:http://download.csdn.net/my

==================== 迂者 丁小未 CSDN博客专栏=================

MyBlog:http://blog.csdn.net/dingxiaowei2013             MyQQ:1213250243

Unity QQ群:858550         cocos2dx QQ群:280818155

====================== 相互学习,共同进步 ===================

转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/9734935

欢迎关注我的微博:http://weibo.com/u/2590571922

Unity3D开发类似保龄球游戏相关推荐

  1. unity3d开发传奇类游戏3D

    传奇开发类游戏开发精讲 先上效果 技能治疗 技能伤害 近战 地图数据: vector2 数组.N行N列,描述地图大小.通过数据结构算法得出每个单元格的坐标 [x,y][x,y][x,y] [x,y][ ...

  2. Unity3D开发的2D游戏---《趣味推箱子》

    趁着工作的空闲时候,用Unity3D的自带的2D系统和NGUI做了个推箱子的游戏,目前共30个关卡. 里面加入了类似与愤怒的小鸟的关卡选择系统,时间和炸弹两个道具等内容.对于Window/Web和移动 ...

  3. 用Unity3D开发2D小游戏 Flappy Bird

    简介: 最近在学习Unity3D,用了两天时间做了个小游戏打算放上了和大家分享一下,项目名定义为Flapping,是参考Flappy Bird做的,高手勿喷. 这是原本游戏效果图: 这是本项目效果图: ...

  4. 【Unity3D开发小游戏】《打地鼠游戏》Unity开发教程

    文章目录 一.前言 二.源码 三.正文 版本 1.相机设置 2.洞口设置 3.洞口脚本 4.鼹鼠 5.鼹鼠动画 6.鼹鼠碰撞器 7.鼹鼠脚本 8.击中鼹鼠的效果 9.实现击中效果 10.增加更多的洞口 ...

  5. [Kinect]Kinect结合Unity3D引擎开发体感游戏

    最近公司项目需要做科技馆的体感游戏,以前也没接触过游戏,虽然以前自己也是想做游戏,我想大部分都是学编程出来来做游戏,哈哈(请允许我淫笑一下,终于可以做这方面).虽然以前没接触过体感游戏,看到的体验也是 ...

  6. 带你开发类似Pokemon Go的AR游戏(2)

    -- 作者 谢恩铭 转载请注明出处 大家好,接着上一篇带你开发类似Pokemon Go的AR游戏(1),我们今天进入第二篇. 这篇开始就进入实战了, 不过今天还是讲不完, 因为内容比较多, 将会有第三 ...

  7. Unity2016 Unity3D开发VR游戏的经验

    http://z.youxiputao.com/articles/8313 在4月12日的Unite 2016大会上,暴风魔镜高级产品经理吴涛分享他用Unity3D开发VR游戏的经验,以下为分享实录: ...

  8. Unity3D游戏开发之使用Unity3D开发2D游戏 (一)

    今天要和大家分享的是基于Unity3D开发2D游戏,博主一直钟爱于国产武侠RPG,这个我在开始写Unity3D游戏开发系列文章的时候就已经说过了,所以我们今天要做的就是利用Unity3D来实现在2D游 ...

  9. Kinect结合Unity3D引擎开发体感游戏

    Kinect结合Unity3D引擎开发体感游戏 1 最近公司项目需要做科技馆的体感游戏,以前也没接触过游戏,虽然以前自己也是想做游戏,我想大部分都是学编程出来来做游戏,哈哈(请允许我淫笑一下,终于可以 ...

最新文章

  1. nGrinder详细介绍及性能工具对比
  2. QualityCenter的备份
  3. HDU 5762 Teacher Bo (鸽笼原理) 2016杭电多校联合第三场
  4. C# 系统应用之清空回收站操作
  5. 课时55.详情和概要标签(理解)
  6. cv1159 最大全0子矩阵(极大子矩阵)
  7. html form callback,Promise异步编程模式总结初始化Promise对象统一错误处理PromisifyfromCallbackMongoose Promisify...
  8. Flink SQL 1.11 新功能与最佳实践
  9. SELECT语句选项
  10. mysql内置函数大全
  11. 斯皮尔曼相关系数计算的python代码
  12. 故宫元宵灯会票务系统崩溃背后:年游客达1700万人
  13. 经典有源滤波电路(赛伦-凯滤波器)
  14. mac 环境下搭建socket通信
  15. Linux学习笔记——~/.bash_profile文件
  16. 【H2O系列001】H2O概述
  17. 一个国企老兵给后辈们的忠告:三十岁之前远离国企
  18. c语言函数fac,将一个求阶乘的函数fac专门写在一个文件file1.cpp中,定义为外部函数。然后在另一文件file2.cpp中...
  19. [py练习] 返回朋友名字的list
  20. windows下vscode + code runner + cmake + msbuild.exe搭建C++快速编译环境

热门文章

  1. 插件式可扩展架构设计心得(干货)
  2. 时序预测工具库(Prophet)介绍+代码
  3. SVG——入门,路径描边动画
  4. http://www.narkii.com/club/forum-46-1.html 纳金学习论坛,主要是讨论一些unty3D方面的事情,技术栈比较前沿,...
  5. const char*类型的实参与LPCTSTR类型的形参不兼容 MFC
  6. python复制文件到指定文件夹
  7. 动态更改web.config中的appsetting
  8. Linux基础——”shell脚本编程“ 你知道自动轰炸脚本怎么来的吗?
  9. linux-sfdisk 用法
  10. Nacos服务心跳和健康检查源码介绍,经典好文