unity3d水果忍者源码切水果游戏论文怎么做

Unity3d开发《切水果》趣味公开课 - 推酷课堂
unity3d开发切水果两天课程
还记得那个经典的手游切水果吗?曾经让多少亲们,在手机上切得手指发麻,乃至切得整个人成癫狂状。大家一定很好奇居然unity也可以用来开发这种游戏,当然没问题。在这门课程中,我们讲解游戏的界面UI,游戏逻辑,主要会讲解图形切割的实现,这其中着重讲解一个切割插件的使用下次自动登录
现在的位置:
& 综合 & 正文
[Unity3d]水果忍者-切水果功能
继续今天的切水果游戏之切苹果的实现,主要功能就是,有一个苹果放在场景中,然后通过手滑过苹果,就将苹果切成两半,从原理上分析,就是制作两张贴图,分别表示分开的两半苹果,然后在当前位置出现,并且给这两半苹果加上刚体属性,然后分别给这两半苹果加上一个相反的力使其自由落体!
1.原理分析
就是通过摄像机发出一条射线碰撞到具备碰撞器的苹果,也就是说要给苹果添加上BoxCollider属性,然后苹果检测到碰撞,然后在当前位置出现两个具有刚体(物理)属性的半边苹果,方向是随机出现,然后随机给添加上向量力,使得这两个半个苹果做自由下落。
2.半边苹果的制作
创建一个材质球,然后给材质球赋予贴图属性,就像下图所示的红色区域的图片
然后添加上BoxCollider和Rigidbody两个属性,勾选下图所示的红色区域中的选项
IsTrigger:勾选上的时候,触发器不会碰撞刚体,但当刚体退出或进入触发器的时候,将会发送OnTriggerEnter,OnTriggerExit和OnTriggerStay消息。
UseGravity:字面解释就是使用重力
Constraints:是约定冻结旋转和移动,这里冻结了Z轴的移动,也就是不允许苹果前后位置的移动,冻结了X,Y轴方向的旋转,也就是不能让苹果前后翻转或者左右旋转。
然后将这半个苹果做成prefeb,删除掉场景中的半个苹果的GameObject。
3.完整苹果的属性的设置
主要是让这个主苹果具备BoxCollider属性,使其能够让射线碰撞到,主要要加上AudioSource不然会报错。
该两个附加在Apple00上,也就是主苹果上。
knifeRay01
//如果射线碰撞到苹果,就显示出两半苹果,并且给添加两个方向相反的方向力
using UnityE
using System.C
public class knifeRay01 : MonoBehaviour
//选择颜色
public GameObject myR
//这个是刀光的prefab
public AudioClip knifeS
public bool isHit =
public Vector3 rayP
public bool isRay =
public GameObject firstF
public GameObject secondF
private GameObject myFirstF
private GameObject mySecondF
private Vector3 firstP
private Vector3 secondP
// private Vector3 middleP
private bool isClicked =
private LineRenderer lineR
private GameObject rayGameO
// Use this for initialization
// void Start () {
lineRenderer = gameObject.AddComponent&LineRenderer&();//添加一个划线的组件
//设置颜色和宽度
lineRenderer.material.color =
lineRenderer.SetWidth(0.1f, 0.1f);
// Update is called once per frame
void Update()
bool isMouseDown = Input.GetMouseButton(0);//判断鼠标是否左击
if (isHit)
if (isMouseDown && !isClicked)
//屏幕坐标转化成空间坐标
firstPosition = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 1));
lineRenderer.SetVertexCount(1);
lineRenderer.enabled =
lineRenderer.SetPosition(0,firstPosition);
isClicked =
else if (isMouseDown)
secondPosition = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 1));
lineRenderer.SetVertexCount(2);
lineRenderer.SetPosition(1, secondPosition);
//鼠标提起
else if (Input.GetMouseButtonUp(0))
secondPosition = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 1));
if (secondPosition.x != firstPosition.x)
angle = Mathf.Atan((secondPosition.y - firstPosition.y) / (secondPosition.x - firstPosition.x));
print("角度:" + angle * 180 / Mathf.PI);
angle = 0;
//创建划痕,这里旋转的是幅度
rayGameObject = Instantiate(myRay, rayPosition, Quaternion.AngleAxis(angle * 180 / Mathf.PI, Vector3.forward)) as GameO
//两个被切的水果
myFirstFruit = Instantiate(firstFruit, transform.position, Quaternion.AngleAxis(Random.Range(50, 180) * 180 / Mathf.PI, Vector3.forward)) as GameO
mySecondFruit = Instantiate(firstFruit, transform.position, Quaternion.AngleAxis(Random.Range(80, 150) * 180 / Mathf.PI, Vector3.forward)) as GameO
myFirstFruit.rigidbody.velocity = new Vector2(Mathf.Sin(angle)*10,-Mathf.Cos(angle)*10);
mySecondFruit.rigidbody.velocity = new Vector2(Mathf.Sin(angle)*10,Mathf.Cos(angle)*10);
//这里方向是随机出现的,其实正确的应该是计算切线的角度来计算苹果切开两半的一个飞溅的方向
if (Random.Range(1, 10) & 5)
//给加一个力,方向相反
myFirstFruit.rigidbody.velocity = new Vector2(5, 10);
mySecondFruit.rigidbody.velocity = new Vector2(-8, -10);
myFirstFruit.rigidbody.velocity = new Vector2(0, 10);
mySecondFruit.rigidbody.velocity = new Vector2(0, -10);
myFirstFruit.rigidbody.velocity = new Vector2(-5, 10);
mySecondFruit.rigidbody.velocity = new Vector2(8, -10);
Physics.gravity = new Vector3(0, -20, 0);
Destroy(myFirstFruit, 2.0f);
Destroy(mySecondFruit, 2.0f);
if (audio.isPlaying)
audio.Stop();
PlaySound(knifeSound);
print("播放声音");
Destroy(rayGameObject, 0.2f);//立马释放刀光
lineRenderer.SetVertexCount(2);
lineRenderer.SetPosition(1, secondPosition);
isClicked =
//middlePosition = (firstPosition+secondPosition)/2;
Destroy(rayGameObject, 1.0f);//一秒钟就去掉
void PlaySound(AudioClip soundName)
if (!audio.isPlaying)
AudioSource.PlayClipAtPoint(soundName, new Vector3(0, 0, -10));//在指定位置播放
hitByKnife//用于判断射线是否碰撞到苹果
using UnityE
using System.C
public class hitByKnife : MonoBehaviour
private bool isClicked =
// Use this for initialization
void Start()
// Update is called once per frame
void Update()
bool isMouseDown = Input.GetMouseButton(0);//判断鼠标是否左击
if (!isClicked)
if (isMouseDown)
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (collider.Raycast(ray, out hit, 1000f))
transform.GetComponent&knifeRay01&().isHit =
transform.GetComponent&knifeRay01&().rayPosition = hit.transform.
==================== 迂者 丁小未 CSDN博客专栏=================
Unity QQ群:858550
cocos2dx QQ群:
====================== 相互学习,共同进步 ===================
转载请注明出处:
欢迎关注我的微博:
&&&&推荐文章:
【上篇】【下篇】喜欢unity3d切水果的还喜欢
价格: 1.50
价格: 5.00
价格: 29.00
价格: 5.00
价格: 9.58
价格: 5.00
价格: 5.00
价格: 9.90
价格: 19.68
价格: 5.00
价格: 2.00
价格: 10.00
价格: 2.00
价格: 10.00
价格: 2.00
价格: 2.00
价格: 1.00
价格: 1.00
价格: 15.00
价格: 5.00
价格: 5.00
价格: 1.80
价格: 10.00
价格: 1.00
价格: 1.00
价格: 2.90
价格: 11.00
价格: 50.00
价格: 1.00
价格: 6.00
价格: 2.28
价格: 10.00
价格: 2.90
价格: 2.90
价格: 2.00
价格: 1.00
价格: 2.00
价格: 1.00
价格: 8.80
价格: 19.00
价格: 2.00
价格: 1.00
价格: 3.00
价格: 2.00
Copyright ?2011-, All Rights Reserved. 鄂ICP备unity切水果完整源码Fruit Cutter,Unity3D,游戏源码,6m5m游戏素材
请求处理中...
unity切水果完整源码Fruit CutterWhat can we say.. Fruit Cutter is a project that speaks for itself!&A tasty torrent of fruit falls down the screen and you have to act quickly to slice them using your expert fruit chopping skills. Fruit pieces feature custom points, and if you're fast enough, you can build up a multiplier to get an even jucier score!&It slices! It dices! And it's easily customizable simply change the artwork.&
或 20 积分 ()
下载30浏览人数2976交付方式直接下载
注意:【1】本站只是个免费分享平台,并不敢保证所有源码人人都能编译,因素太多,旨在学习研究,如果您有顾虑或斤斤计较就请不要下载了,大家都不容易,互相理解,才能让更多的好资源出现!【2】本站资源仅限于学习研究,请在下载后24小时内删除,不要用于任何商业用途。【3】部分素材压缩包因体积过大而上传到百度等网盘上,如果发现在本站下载的压缩包只要有几K大小,说明该压缩包里只是网盘的下载链接,并非文件损坏,本站的所有素材都是经过了审核,大家可放心下载,欢迎监督反馈。【4】做个好平台真心不容易,我们一直在努力,因本站素材量大,难免会出现某网盘下载链接失效等问题,请大家及时反馈,我们会及时修正保证您可以拿到素材,请大家支持和理解!
免责声明:本网所展示的素材与服务信息由买卖双方自行提供,其真实性、准确性和合法性由信息发布人负责。本网不提供任何保证,并不承担法律责任,如有不妥之处请及时反馈,本网将会妥善处理。
友情提醒:本站旨在游戏开发的学习,所分享的素材资源均来源于网络,仅适用于学习研究,禁止用于任何商业用途,否则后果自负,所展示的素材版权归原作者或公司所有,如果本站素材侵犯了您的权益,请与联系我们,我们将及时处理。
猜您喜欢的游戏素材
0金币 / 份
1金币 / 个
1金币 / 个
0金币 / 个
1金币 / 个
0金币 / 个
0金币 / 个
2金币 / 个
0金币 / 个
1金币 / 个
好评率99.67%}

我要回帖

更多关于 unity3d kinect切水果 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信