java代码编写完整版水果忍者,Unity3D基础项目(三):水果忍者代码
创建刀光
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基础项目(三):水果忍者代码相关推荐
- 【剑指offer】Java版代码(完整版)
参考链接 [剑指offer]Java版代码(完整版)
- 免费的Lucene 原理与代码分析完整版下载
Lucene是一个基于Java的高效的全文检索库. 那么什么是全文检索,为什么需要全文检索? 目前人们生活中出现的数据总的来说分为两类:结构化数据和非结构化数据.很容易理解,结构化数据是有固定格式和结 ...
- Lucene 原理与代码分析完整版
原文地址为: Lucene 原理与代码分析完整版 Lucene 原理与代码分析系列文章已经基本告一段落,可能问题篇还会有新的更新. 完整版pdf可由以下链接下载. Lucene 原理与代码分析完整版 ...
- java教程pdf(java教程视频完整版)
JAVA程序设计基础教程PDF 你在百度文库里找找好像有的,如果没有就去taobao吧,太多的二手旧书了.百度 谷歌上面这样的只是多的是 还有就是百度百科fsd <JAVA从入门到精通>电 ...
- 关于测试计划编写完整版
相信大多数的软件测试工程师都听说过或者简单了解过测试计划,但是你真的知道什么是测试计划么?你真的知道如何编写测试计划么? 大多数人应该是一脸茫然. 百度的结果五花八门,有没有相对规范的标准呢?答案是没 ...
- Java 对象排序完整版
前几天在 LeetCode 刷题的时候,遇到了利用 Arrays.sort() 或 Collections.sort() 来对 Java 对象进行排序的需求,于是想较详细地总结一下 Java 对象的排 ...
- 达内第二个月考java核心题目,(完整版)达内科技JAVA项目经理入职考试--I(不含答案)--新...
达内科技项目经理入职考试 (JAVA方向 A卷) 考试说明: 本考试为达内科技JAVA产品线项目经理入职考试,考试使用闭卷.笔试的形式.满分100分,考试时间120分钟.考试期间不允许使用电脑,不可打 ...
- 12306火车票抢票Python代码最新完整版发布,五一抢票就靠它了!
语言版本:Python 1.自动登录12306并保持Cookie 2.自动实现抢购设置的某日期的某车次的票 3.攻克排队系统陷阱,避免进入排队系统 4.循环监控某车次的票,直到有票,自动抢购 5.抢票 ...
- php上传图片并显示代码,php图片上传代码(完整版已测试)
php图片上传代码本来是一个很简单的事,之前笔者图省事,直接网上下载了一个php图片上传小程序,结果导致wordpress网站被黑,因为留有后门,后来排查直接删除整个小程序,自己用重新写了一个php图 ...
最新文章
- python可以处理任何字符编码文本_python数据类型、字符编码、文件处理
- nodejs之http-proxy几点常见问题
- 【Python】matplotlib.pyplot 标题换行
- java集合是wftc_Java集合
- Python3网络爬虫——(4)urllib.error异常处理
- liferay 调用ajax
- 增量式pid调节方式有何优点_PID控制算法
- matlab 箱图不显示异常值_无功功率显示值与计算值不匹配?
- [OCR]用tesseract训练自己的字体
- Science fiction list
- steam游戏存档迁移
- 51nod 1677——treecnt
- 得链表者得天下(上)
- 单片机/树莓派扩展双串口(TTL和RS485)
- vue-router 快速返回上一页
- Mybatis to_date方法(ORACLE)
- 秉火429笔记之十七 SPI--操作FLASH
- FreeBSD_11-系统管理——{Part_3-网络}
- 电脑里u盘的内容删除了怎么还原?简单实用方法分享
- java课程设计:基于SSM实现个人健康管理系统
热门文章
- More Effective C++之 Item M30:代理类
- FineUI秘密花园(二) — 一切从头开始
- Springboot 上传图片压缩至指定大小以下
- u盘安装服务器系统蓝屏,U盘安装Win10系统出现蓝屏的两种方法
- supermap iserver java 6r许可_SuperMap iServer Java 6R 在 linux 上安装和配置
- 基于MFC的打飞机游戏
- 从手机到平板,华为凭啥总能超越苹果?
- 三维空间中两直线交点
- android自定义控件颜色渐变,Android编程实现自定义渐变颜色效果详解
- 欧姆龙485通讯示例程序_编程看这里!欧姆龙PLC如何实现与温度仪表485串口通讯?...