Unity3D开发类似保龄球游戏
admin
2023-01-20 21:42:42
0

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

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

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

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

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


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();
}


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();
                go.AddComponent();//相当于实例化一个脚本销毁对象的一个类然后挂到每个对象中,让他不可见的时候自行销毁
            }
        }
}

// 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();
            //让对象不可见的时候自行销毁
            goBullet.AddComponent();
            
            //获取到这个对象的多有资源,在发射的时候播放一个音乐
            goPlane.GetComponent().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);
    }
}

Unity3D开发类似保龄球游戏


其他提示:

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


相关内容

热门资讯

玩家分享攻略“天天微友棋牌开挂... 您好:天天微友棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款...
唐驳虎:日本发生7.6级强震,... 核心提要1. 日本青森县以东的太平洋海域发生7.6级强烈地震。由于离岸较远且震源较深,此次地震对陆地...
我来教教您“台安来来麻将怎么装... 我来教教您“台安来来麻将怎么装挂”(外卦神器下载)您好,台安来来麻将这个游戏其实有挂的,确实是有挂的...
石金科技取得一种薄片石墨舟专利... 国家知识产权局信息显示,深圳市石金科技股份有限公司取得一项名为“一种薄片石墨舟”的专利,授权公告号C...
终于明白“星星武汉麻将开挂神器... 家人们!今天小编来为大家解答星星武汉麻将透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里...
努比亚总裁倪飞谈豆包手机助手:... IT之家 12 月 9 日消息,中兴通讯终端事业部总裁、努比亚技术有限公司总裁倪飞今日发布长文,谈及...
2025浦东国际人才港论坛-人... 12月6日下午,“2025浦东国际人才港论坛-人工智能产业人才论坛”在张江科学会堂举行。本次论坛以“...
【今日要闻】“新九方牛牛究竟有... 家人们!今天小编来为大家解答新九方牛牛透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买...
我来教教您“新天道牛牛究竟有挂... 家人们!今天小编来为大家解答新天道牛牛透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
终于了解“新卡贝拼三张有挂吗”... 有 亲,根据资深记者爆料新卡贝拼三张是可以开挂的,确实有挂(咨询软件无需...