创建刀光

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

public class CutFruit : MonoBehaviour {

private GameObject knife;

private Vector3 startPos;

private Vector3 endPos;

private GameObject canver;

void Start () {

knife = (GameObject)Resources.Load("Prefabs/Knife");

canver = GameObject.Find("Canvas");

Debug.Log(knife.name);

}

void Update () {

if (Input.GetMouseButtonDown(0))

{

startPos = Input.mousePosition;

}

if (Input.GetMouseButtonUp(0))

{

endPos = Input.mousePosition;

if (endPos != startPos)

{

// 计算夹角

float angle = (endPos.y - startPos.y) / (endPos.x - startPos.x);

float angle1 = Mathf.Atan(angle);

float angle2 = angle1 * 180 / Mathf.PI;

// 计算位置

Vector3 knifPos =(startPos + (endPos - startPos) / 2);

// 实例化

GameObject knif = Instantiate(knife);

knif.transform.position = knifPos;

knif.transform.rotation = Quaternion.AngleAxis(angle2, Vector3.forward);

knif.transform.parent = canver.transform;

Destroy(knif, 1.5f);

}

}

}

}

创建水果生成器

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Friut : MonoBehaviour {

public GameObject canvas;

// 水果集合

public GameObject[] fruits;

void Start () {

canvas = GameObject.Find("Canvas");

// 定时执行某个方法,(方法名,多少秒后执行,重复执行间隔)

InvokeRepeating("Creat", 0f, 4f);

}

private void Creat()

{

int index = Random.Range(0, 4);

GameObject fruit = Instantiate(fruits[index]) as GameObject;

fruit.transform.parent = canvas.transform;

fruit.GetComponent().position = new Vector3(Random.Range(35f, Screen.width - 35f), 50, 0);

fruit.AddComponent().AddForce(new Vector3(0f, 90f, 0f), ForceMode.Impulse);

}

}

using UnityEngine;

// 刀光对象检测物体

public class CutTrigger : MonoBehaviour {

void Start () {

}

private void OnTriggerEnter(Collider other)

{

// 可以获取水果类型了

Debug.Log(other.name);

if (other.tag == "Pear")

{

InitFruit("Prefabs/pear01", other.gameObject);

// 分数加1

}

if (other.tag == "Apple")

{

InitFruit("Prefabs/apple01", other.gameObject);

// 分数加1

}

if (other.tag == "Banana")

{

InitFruitTwo("Prefabs/banana", other.gameObject);

// 分数加2

}

if (other.tag == "Gapple")

{

InitFruit("Prefabs/gapple01", other.gameObject);

// 分数加10

}

if (other.tag == "Life")

{

InitFruitTwo("Prefabs/life", other.gameObject);

// 生命-1

}

}

// 一种图片水果

public void InitFruit(string path, GameObject obj)

{

// 切到水果了,创建切后的水果对象

GameObject fruit = Instantiate(Resources.Load(path) as GameObject);

fruit.transform.position = obj.transform.position;

fruit.transform.parent = obj.transform.parent;

fruit.transform.rotation = obj.transform.rotation;

// 销毁原水果

Destroy(obj);

// 销毁切后的水果对象

Destroy(fruit, 0.2f);

}

// 两种图片水果

public void InitFruitTwo(string path, GameObject obj)

{

// 切到水果了,创建切后的水果对象

GameObject fruit = Instantiate(Resources.Load(path + "02") as GameObject);

fruit.transform.position = obj.transform.position - new Vector3(0,35,0);

fruit.transform.parent = obj.transform.parent;

fruit.transform.rotation = obj.transform.rotation;

GameObject fruit1 = Instantiate(Resources.Load(path + "01" ) as GameObject);

fruit1.transform.position = obj.transform.position - new Vector3(0, 65, 0);

fruit1.transform.parent = obj.transform.parent;

fruit1.transform.rotation = obj.transform.rotation;

// 销毁原水果

Destroy(obj);

// 销毁切后的水果对象

Destroy(fruit, 0.2f);

Destroy(fruit1, 0.2f);

}

}

java代码编写完整版水果忍者,Unity3D基础项目(三):水果忍者代码相关推荐

  1. 【剑指offer】Java版代码(完整版)

    参考链接 [剑指offer]Java版代码(完整版)

  2. 免费的Lucene 原理与代码分析完整版下载

    Lucene是一个基于Java的高效的全文检索库. 那么什么是全文检索,为什么需要全文检索? 目前人们生活中出现的数据总的来说分为两类:结构化数据和非结构化数据.很容易理解,结构化数据是有固定格式和结 ...

  3. Lucene 原理与代码分析完整版

    原文地址为: Lucene 原理与代码分析完整版 Lucene 原理与代码分析系列文章已经基本告一段落,可能问题篇还会有新的更新. 完整版pdf可由以下链接下载. Lucene 原理与代码分析完整版 ...

  4. java教程pdf(java教程视频完整版)

    JAVA程序设计基础教程PDF 你在百度文库里找找好像有的,如果没有就去taobao吧,太多的二手旧书了.百度 谷歌上面这样的只是多的是 还有就是百度百科fsd <JAVA从入门到精通>电 ...

  5. 关于测试计划编写完整版

    相信大多数的软件测试工程师都听说过或者简单了解过测试计划,但是你真的知道什么是测试计划么?你真的知道如何编写测试计划么? 大多数人应该是一脸茫然. 百度的结果五花八门,有没有相对规范的标准呢?答案是没 ...

  6. Java 对象排序完整版

    前几天在 LeetCode 刷题的时候,遇到了利用 Arrays.sort() 或 Collections.sort() 来对 Java 对象进行排序的需求,于是想较详细地总结一下 Java 对象的排 ...

  7. 达内第二个月考java核心题目,(完整版)达内科技JAVA项目经理入职考试--I(不含答案)--新...

    达内科技项目经理入职考试 (JAVA方向 A卷) 考试说明: 本考试为达内科技JAVA产品线项目经理入职考试,考试使用闭卷.笔试的形式.满分100分,考试时间120分钟.考试期间不允许使用电脑,不可打 ...

  8. 12306火车票抢票Python代码最新完整版发布,五一抢票就靠它了!

    语言版本:Python 1.自动登录12306并保持Cookie 2.自动实现抢购设置的某日期的某车次的票 3.攻克排队系统陷阱,避免进入排队系统 4.循环监控某车次的票,直到有票,自动抢购 5.抢票 ...

  9. php上传图片并显示代码,php图片上传代码(完整版已测试)

    php图片上传代码本来是一个很简单的事,之前笔者图省事,直接网上下载了一个php图片上传小程序,结果导致wordpress网站被黑,因为留有后门,后来排查直接删除整个小程序,自己用重新写了一个php图 ...

最新文章

  1. python可以处理任何字符编码文本_python数据类型、字符编码、文件处理
  2. nodejs之http-proxy几点常见问题
  3. 【Python】matplotlib.pyplot 标题换行
  4. java集合是wftc_Java集合
  5. Python3网络爬虫——(4)urllib.error异常处理
  6. liferay 调用ajax
  7. 增量式pid调节方式有何优点_PID控制算法
  8. matlab 箱图不显示异常值_无功功率显示值与计算值不匹配?
  9. [OCR]用tesseract训练自己的字体
  10. Science fiction list
  11. steam游戏存档迁移
  12. 51nod 1677——treecnt
  13. 得链表者得天下(上)
  14. 单片机/树莓派扩展双串口(TTL和RS485)
  15. vue-router 快速返回上一页
  16. Mybatis to_date方法(ORACLE)
  17. 秉火429笔记之十七 SPI--操作FLASH
  18. FreeBSD_11-系统管理——{Part_3-网络}
  19. 电脑里u盘的内容删除了怎么还原?简单实用方法分享
  20. java课程设计:基于SSM实现个人健康管理系统

热门文章

  1. More Effective C++之 Item M30:代理类
  2. FineUI秘密花园(二) — 一切从头开始
  3. Springboot 上传图片压缩至指定大小以下
  4. u盘安装服务器系统蓝屏,U盘安装Win10系统出现蓝屏的两种方法
  5. supermap iserver java 6r许可_SuperMap iServer Java 6R 在 linux 上安装和配置
  6. 基于MFC的打飞机游戏
  7. 从手机到平板,华为凭啥总能超越苹果?
  8. 三维空间中两直线交点
  9. android自定义控件颜色渐变,Android编程实现自定义渐变颜色效果详解
  10. 欧姆龙485通讯示例程序_编程看这里!欧姆龙PLC如何实现与温度仪表485串口通讯?...