unity体感游戏--接钻石游戏(三)游戏物体碰撞得分

u3d的碰撞函数是OnTriggerEnter()代码如下

using UnityEngine;
using System.Collections;

public class onCollider : MonoBehaviour {

    public GameObject object1;
    public GameObject object2;
    public GameObject object3;
    private GUIShow totalScore;//总得分
	// Use this for initialization
	void Start () {

        if(totalScore==null)
        {
            totalScore = FindObjectOfType(typeof(GUIShow)) as GUIShow;
            
        }
	}
	
	// Update is called once per frame
	void Update () {
       
	}
    void OnTriggerEnter(Collider other) 
    {
        print(other.collider.gameObject.name);
        if (other.collider.gameObject.name.Contains(object1.gameObject.name))
        {
            Destroy(other.collider.gameObject);
            totalScore.TotalScore1();
            gameObject.audio.Play();//添加声音播放
            
        }
        else if (other.collider.gameObject.name.Contains(object2.gameObject.name))
        {
  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴为您提供Unity 3D游戏-消消乐(三消类)教程和源码。 首先,您需要安装Unity 3D引擎,然后创建一个新的项目。下来,您可以按照以下步骤构建您的游戏: 1. 创建一个3D场景并添加相机和灯光。 2. 创建一个游戏板,可以使用网格和材质来创建。 3. 创建不同的游戏块,可以使用3D模型或2D图片来创建。 4. 实现游戏规则:当三个或三个以上相同的块相邻时,它们将被消除。 5. 实现游戏的分数系统和难度级别。 这是一个基本的游戏框架,您可以根据需要添加其他功能和元素。 此外,以下是一个基于Unity 3D的消消乐游戏的源代码示例,您可以将其作为参考: ```csharp using UnityEngine; using System.Collections; public class Block : MonoBehaviour { public enum BlockType { Red, Green, Blue, Yellow } public BlockType blockType; private bool isClicked = false; void OnMouseDown() { if (!isClicked) { isClicked = true; StartCoroutine(CheckMatches()); } } IEnumerator CheckMatches() { yield return new WaitForSeconds(0.1f); GameObject[] blocks = GameObject.FindGameObjectsWithTag("Block"); ArrayList matches = new ArrayList(); foreach (GameObject block in blocks) { if (block != gameObject && block.GetComponent<Block>().blockType == blockType) { float distance = Vector3.Distance(transform.position, block.transform.position); if (distance < 1.1f) { matches.Add(block); } } } if (matches.Count > 0) { matches.Add(gameObject); foreach (GameObject block in matches) { Destroy(block); } } else { isClicked = false; } } } ``` 此代码演示了如何检测匹配块并将其销毁。当用户单击块时,它将检查所有相邻的块,并将其添加到一个数组中。如果匹配块的数量大于0,则将它们全部销毁。否则,单击状态将被重置。 希望这可以帮助您开始创建自己的消消乐游戏

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值