unity体感游戏--接钻石游戏(一)游戏物体下落

2024-02-19 21:08

本文主要是介绍unity体感游戏--接钻石游戏(一)游戏物体下落,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前完成一个体感接钻石的小游戏,大体过程就是天上掉钻石,用一个物体接住,这个物体是通过kinect来控制的他的前后左右。接到不同的钻石就可以获得不同的得分。

这段代码是下落的位置,下落的游戏物体,还定义了ScoreHit()得分。主要解决海上下落问题,此脚本具有通用性。

using UnityEngine;
using System.Collections.Generic;public class BallCreator : MonoBehaviour 
{// the ball prefab. @note MUST be attachedpublic GameObject prefab;// the object we create the balls near @note MUST be attached.public Transform where;// holds the player mapper (used to find out if we have a target player).public NIPlayerManager m_playerManager;// the time to create the next ball//private float m_timeToCreateNextBall;public float m_timeToCreateNextBall;// The number of balls the user hit (used for scoring)private int m_numBallsHit = 0;// The number of balls created (used for scoring)// private int m_numBallsCreated;public int m_numBallsCreated;// Marks that the user has scored a hit (used for scoring).// public void ScoreHit(){m_numBallsHit++;}// mono-behavior initializationpublic void Start () {m_numBallsHit = 0;m_numBallsCreated = 0;m_timeToCreateNextBall = 0;if(m_playerManager==null)m_playerManager = FindObjectOfType(typeof(NIPlayerManager)) as NIPlayerManager;}// mono-behavior Update is called once per framepublic void Update () {if (Time.time < m_timeToCreateNextBall)return; // we created a ball very recently, wait.if (m_playerManager == null)return; // this means we don't even have a plyer manager.NISelectedPlayer player = m_playerManager.GetPlayer(0);if (player == null || player.Valid == false || player.Tracking == false)return; // this means we don't have a calibrated userif (SkeletonGuiControl.m_mode == SkeletonGuiControl.SkeletonGUIModes.GUIMode)return; // we don't throw balls while in GUI mode.// now we know we should throw a ball. We first figure out where (a random around the// x axis of the "where" transform and a constant modifier on the y and z).Vector3 pos = where.position;pos.x += Random.Range(- 2.0f, 2.0f);pos.y += 8.0f;pos.z += 2.1f;// create the ballInstantiate(prefab, pos,  Quaternion.identity);m_numBallsCreated++;// we set the time for the next ball. The time itself depends on how many balls were created // (the more balls, the less time on average).float maxTime = 5.0f;float minTime = 1.0f;if (m_numBallsCreated > 15)maxTime = 4.0f;if (m_numBallsCreated > 30)maxTime = 3.0f;if (m_numBallsCreated > 45)minTime = 0.5f;if (m_numBallsCreated > 85)maxTime = 2.0f;m_timeToCreateNextBall = Time.time + Random.Range(minTime,maxTime);}// mono-behavior OnGUI shows the scoringvoid OnGUI(){if (SkeletonGuiControl.m_mode == SkeletonGuiControl.SkeletonGUIModes.GUIMode)return; // we don't draw score while in GUI mode.GUI.Box(new Rect(Screen.width/2 -100, 10, 200, 20), "You Hit " + m_numBallsHit + " balls of " + m_numBallsCreated);}}

这篇关于unity体感游戏--接钻石游戏(一)游戏物体下落的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/725975

相关文章

使用C#如何创建人名或其他物体随机分组

《使用C#如何创建人名或其他物体随机分组》文章描述了一个随机分配人员到多个团队的代码示例,包括将人员列表随机化并根据组数分配到不同组,最后按组号排序显示结果... 目录C#创建人名或其他物体随机分组此示例使用以下代码将人员分配到组代码首先将lstPeople ListBox总结C#创建人名或其他物体随机分组

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

火柴游戏java版

代码 /*** 火柴游戏* <p>* <li>有24根火柴</li>* <li>组成 A + B = C 等式</li>* <li>总共有多少种适合方式?</li>* <br>* <h>分析:</h>* <li>除去"+"、"="四根,最多可用火柴根数20根。</li>* <li>全部用两根组合成"1",最大数值为1111。使用枚举法,A和B范围在0~1111,C为A+B。判断</li>** @

国产游戏行业的崛起与挑战:技术创新引领未来

国产游戏行业的崛起与挑战:技术创新引领未来 近年来,国产游戏行业蓬勃发展,技术水平不断提升,许多优秀作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,国产游戏已实现质的飞跃。然而,面对全球游戏市场的激烈竞争,国产游戏技术仍然面临诸多挑战。本文将探讨这些挑战,并展望未来的机遇,深入分析IT技术的创新将如何推动行业发展。 国产游戏技术现状 国产游戏在画面渲染、物理引擎、AI

第四次北漂----挣个独立游戏的素材钱

第四次北漂,在智联招聘上,有个小公司主动和我联系。面试了下,决定入职了,osg/osgearth的。月薪两万一。 大跌眼镜的是,我入职后,第一天的工作内容就是接手他的工作,三天后他就离职了。 我之所以考虑入职,是因为 1,该公司有恒歌科技的freex平台源码,可以学学,对以前不懂的解解惑。 2,挣点素材钱,看看张亮002的视频,他用了6000多,在虚幻商城买的吸血鬼游戏相关的素材,可以玩两年。我

Unity Post Process Unity后处理学习日志

Unity Post Process Unity后处理学习日志 在现代游戏开发中,后处理(Post Processing)技术已经成为提升游戏画面质量的关键工具。Unity的后处理栈(Post Processing Stack)是一个强大的插件,它允许开发者为游戏场景添加各种视觉效果,如景深、色彩校正、辉光、模糊等。这些效果不仅能够增强游戏的视觉吸引力,还能帮助传达特定的情感和氛围。 文档

nyoj 1038 纸牌游戏

poj 的一道改编题,说是翻译题更恰当,因为只是小幅度改动。 一道模拟题,代码掌控能力比较好,思维逻辑清晰的话就能AC。 代码如下: #include<stdio.h>#include<string.h>#include<algorithm>using namespace std;struct node{char c[5];int rk;char da[5];int nu

如果出一个名叫白神话悟空的游戏

最近黑神话由于与原著不符引起了原著派的争议。 所以我在摸鱼的时候想到如果游科或者某个别的公司“痛改前非”不夹带私货完全复刻吴承恩百回版剧情制作一个“重走西游路”的游戏,会有一个什么样的销量?(设定为原著派已经多方渠道认证,此游戏的确没有夹带私货,绝大部分复刻了原著剧情) 游戏玩法我想了几类 超长线性有岔路蜈蚣形状地图,蜈蚣的腿部是探索区域和支线,重走西游路线,开篇就是开始取经前唐玄宗御弟cg

Unity协程搭配队列开发Tips弹窗模块

概述 在Unity游戏开发过程中,提示系统是提升用户体验的重要组成部分。一个设计良好的提示窗口不仅能及时传达信息给玩家,还应当做到不干扰游戏流程。本文将探讨如何使用Unity的协程(Coroutine)配合队列(Queue)数据结构来构建一个高效且可扩展的Tips弹窗模块。 技术模块介绍 1. Unity协程(Coroutines) 协程是Unity中的一种特殊函数类型,允许异步操作的实现