球与球的碰撞检测java测试_cocos 躲避球游戏(2) --资源导入和碰撞检测
效果如下
复制图片资源
网上随便找个图片就行, 先拖进左下角资源管理器, 然后从资源管理器中拖到canvas结点下, 并修改名称
添加拖拽脚本
两个飞机的逻辑相同, 所以可以使用同一个脚本
onLoad() {
console.error("plane", this, this.node);
let mouseDown = false;
this.node.on(cc.Node.EventType.MOUSE_DOWN, (event) => {
mouseDown = true;
});
this.node.on(cc.Node.EventType.MOUSE_MOVE, (event) => {
if (!mouseDown) return;
//获取鼠标距离上一次点的信息
let location = event.getLocation();
this.node.position = this.node.parent.convertToNodeSpaceAR(location);
});
//当鼠标抬起的时候恢复状态
this.node.on(cc.Node.EventType.MOUSE_UP, (event) => {
mouseDown = false;
});
},
开启碰撞检测
使用box即可, 会自动设置为图片大小
碰撞发生后, 将事件抛出去, 在GameScene层做接受和处理
cc.Class({
extends: cc.Component,
properties: {
},
onLoad() {
console.error("plane", this, this.node);
let mouseDown = false;
this.node.on(cc.Node.EventType.MOUSE_DOWN, (event) => {
mouseDown = true;
});
this.node.on(cc.Node.EventType.MOUSE_MOVE, (event) => {
if (!mouseDown) return;
//获取鼠标距离上一次点的信息
let location = event.getLocation();
this.node.position = this.node.parent.convertToNodeSpaceAR(location);
});
//当鼠标抬起的时候恢复状态
this.node.on(cc.Node.EventType.MOUSE_UP, (event) => {
mouseDown = false;
});
const manager = cc.director.getCollisionManager();
manager.enabled = true;
},
// 碰撞产生的时候
onCollisionEnter(other, self) {
console.error("onCollisionEnter", other, self);
this.node.dispatchEvent(new cc.Event.EventCustom("hitStart", true));
},
// 当碰撞产生后,碰撞结束前的情况下,每次计算碰撞结果后调用
onCollisionStay: function (other, self) {
console.log("on collision stay");
this.node.dispatchEvent(new cc.Event.EventCustom("hitStay", true));
},
// 当碰撞结束后调用
onCollisionExit: function (other, self) {
console.log("on collision exit");
this.node.dispatchEvent(new cc.Event.EventCustom("hitEnd", true));
},
start() {},
// update (dt) {},
});
gameScene接受事件并响应, 设置label表示当前状态
onLoad() {
this.backBtn.node.on(
cc.Node.EventType.TOUCH_START,
this.backBtnHandle.bind(this)
);
this.node.on("hitStay", () => {
console.log("相撞", this.label.string, this.label.node.string);
this.label.string = "碰撞中";
});
this.node.on("hitEnd", () => {
console.log("相撞", this.label.string, this.label.node.string);
this.label.string = "碰撞结束";
});
this.node.on("hitStart", () => {
console.log("相撞", this.label.string, this.label.node.string);
this.label.string = "开始碰撞";
});
},
球与球的碰撞检测java测试_cocos 躲避球游戏(2) --资源导入和碰撞检测相关推荐
- java画球_我的世界java版指令画球教程
我的世界java版如何用指令画球?许多玩家可能还不太清楚吧,下面就为大家带来最新版本下指令画球的详细教程,供各位玩家们参考. 指令画球教程 第一丶 局部坐标 世界坐标被视作绝对坐标.很多命令可以使用波 ...
- Java小程序之球球大作战(基于Java线程实现)
Java小程序之球球大作战(基于Java线程实现) 一.游戏基本功能: 1.自己的小球可以随着鼠标的移动而改变坐标: 2.敌方小球不断的在界面中移动 3.当检测到敌方小球相互碰撞时,小球会弹开 4.当 ...
- java实现简单窗体小游戏----球球大作战
java实现简单窗体小游戏----球球大作战 需求分析 1.分析小球的属性: 坐标.大小.颜色.方向.速度 2.抽象类:Ball 设计类:BallMain-创建窗体 BallJPanel- ...
- java 运动的大球吃小球_大球吃小球
Ball.java package day7; import java.awt.Color; import java.awt.Graphics; public class Ball { int x,y ...
- 巨型天平问题java_用Java实现天平称球问题的自动求解
问题:已知n个球(n>2)中有一个重量跟别的球不一样,但不知道它是轻还是重. 用一架天平最少称多少次能找出这个次品?输出最少次数及称球方案 已知小球个数,用数学方法可推导出最少次数,但无法推导出 ...
- 用java实现:有15个红球和15个绿球排成一圈,从第1个球开始数,当数到13个球时就取出此球,然后再从下一个球开始数,当再数到13时又取出。怎样循环取出所有的红球?
java语言实现:有15个红球和15个绿球排成一圈,从第1个球开始数,当数到13个球时就取出此球,然后再从下一个球开始数,当再数到13时又取出.如此循环进行直到仅剩15个球为止,怎样排法才能使每次取出 ...
- java实现兵乓球比赛_C语言实现乒乓球比赛
本文实例为大家分享了C语言实现乒乓球比赛的具体代码,供大家参考,具体内容如下 1).基本要求 用8个LED发光管(红黄绿)的来回滚动显示来模拟打乒乓球时乒乓球在两边球台上的来回运动.比赛双方用按钮/开 ...
- Java判断三个球的大中小_玩进球数有门道 三种判断大小球的典型方法
竞彩进球数玩法是竞彩一个主要玩法,比半全场更加受欢迎.因为很多彩民习惯了大小球玩法,因此,作为大球的变种,进球数受到这部分彩民的热捧.不过,市面上介绍亚盘的方法较多,介绍判断大小球的方法却很少.为此, ...
- 双色球投注区分为红球号码区和蓝球号码区,红球号码范围为 01~33,蓝球号码范围为 01~16。双色球每期从 33 个 红球中开出 6 个号码,从 16 个蓝球中开出 1 个号码作为中奖号码,双色球玩
模拟双色球彩票游戏 玩法说明: 双色球投注区分为红球号码区和蓝球号码区,红球号码范围为 01-33,蓝球号码范围为 01-16.双色球每期从 33 个 红球中开出 6 个号码,从 16 个蓝球中开出 ...
最新文章
- iOS 支付 [支付宝、银联、微信]
- 你真的了解深度学习生成对抗网络(GAN)吗?
- 玩转“网上邻居”之WINS解析(一)
- Design Pattern - Adapter Pattern
- iOS设备控制打印机输出文本
- maven 插件使用之:打包jar到lib
- 小米宣布将停止MIUI全球Beta测试计划
- mysql停止更新时间_我如何更新这个MySQL查询以获取从开始、停止、暂停和恢复事件经过的总时间...
- 第六届蓝桥杯:三羊献瑞
- 写了10年的代码,收藏了这20个代码生成框架!太厉害了,以后都不用自己写代码了...
- python入门11 元组tuple
- 简要说明python的缩进规则_关于python的缩进规则的知识点详解
- python学习笔记--python简介
- 决定成功十种积极心态,成功有道理
- 不仅国产手机被撕下遮羞布,其实苹果和三星也已没了遮羞布
- 计算机声音音乐小星星,幼儿园小班音乐课件:《小星星》
- 极光小课堂 | 极光一键登录集成手册--Android
- eclipse安装nodejs插件nodeclipse
- 微信小程序的各种功能
- 用递归和非递归求斐波那契数列
热门文章
- 北京大学可视化发展前沿研究生暑期学校Day2
- 游戏平台搭建韩国大带宽CN2服务器哪里的比较便宜
- haproxy path_beg,path_end ,hdr_beg
- 广发卡自动分期,提额就是养卡的过程
- MTK 平台lcm驱动框架分析1
- 手机界面显示无服务器,手机直接投屏电视,电视上显示投屏成功,却没有图像
- excel快速批量制作工资条
- springBoot+itext处理富文本转pdf
- CSP M4 B ZJM要抵御宇宙射线
- 极客日报:vivo投资超49亿元建人才房;马斯克承认完全自动驾驶 “不是很好”;Edge浏览器出现无法关闭的广告