效果如下

复制图片资源

网上随便找个图片就行, 先拖进左下角资源管理器, 然后从资源管理器中拖到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) --资源导入和碰撞检测相关推荐

  1. java画球_我的世界java版指令画球教程

    我的世界java版如何用指令画球?许多玩家可能还不太清楚吧,下面就为大家带来最新版本下指令画球的详细教程,供各位玩家们参考. 指令画球教程 第一丶 局部坐标 世界坐标被视作绝对坐标.很多命令可以使用波 ...

  2. Java小程序之球球大作战(基于Java线程实现)

    Java小程序之球球大作战(基于Java线程实现) 一.游戏基本功能: 1.自己的小球可以随着鼠标的移动而改变坐标: 2.敌方小球不断的在界面中移动 3.当检测到敌方小球相互碰撞时,小球会弹开 4.当 ...

  3. java实现简单窗体小游戏----球球大作战

    java实现简单窗体小游戏----球球大作战 需求分析 1.分析小球的属性: ​ 坐标.大小.颜色.方向.速度 2.抽象类:Ball ​ 设计类:BallMain-创建窗体 ​ BallJPanel- ...

  4. java 运动的大球吃小球_大球吃小球

    Ball.java package day7; import java.awt.Color; import java.awt.Graphics; public class Ball { int x,y ...

  5. 巨型天平问题java_用Java实现天平称球问题的自动求解

    问题:已知n个球(n>2)中有一个重量跟别的球不一样,但不知道它是轻还是重. 用一架天平最少称多少次能找出这个次品?输出最少次数及称球方案 已知小球个数,用数学方法可推导出最少次数,但无法推导出 ...

  6. 用java实现:有15个红球和15个绿球排成一圈,从第1个球开始数,当数到13个球时就取出此球,然后再从下一个球开始数,当再数到13时又取出。怎样循环取出所有的红球?

    java语言实现:有15个红球和15个绿球排成一圈,从第1个球开始数,当数到13个球时就取出此球,然后再从下一个球开始数,当再数到13时又取出.如此循环进行直到仅剩15个球为止,怎样排法才能使每次取出 ...

  7. java实现兵乓球比赛_C语言实现乒乓球比赛

    本文实例为大家分享了C语言实现乒乓球比赛的具体代码,供大家参考,具体内容如下 1).基本要求 用8个LED发光管(红黄绿)的来回滚动显示来模拟打乒乓球时乒乓球在两边球台上的来回运动.比赛双方用按钮/开 ...

  8. Java判断三个球的大中小_玩进球数有门道 三种判断大小球的典型方法

    竞彩进球数玩法是竞彩一个主要玩法,比半全场更加受欢迎.因为很多彩民习惯了大小球玩法,因此,作为大球的变种,进球数受到这部分彩民的热捧.不过,市面上介绍亚盘的方法较多,介绍判断大小球的方法却很少.为此, ...

  9. 双色球投注区分为红球号码区和蓝球号码区,红球号码范围为 01~33,蓝球号码范围为 01~16。双色球每期从 33 个 红球中开出 6 个号码,从 16 个蓝球中开出 1 个号码作为中奖号码,双色球玩

    模拟双色球彩票游戏 玩法说明: 双色球投注区分为红球号码区和蓝球号码区,红球号码范围为 01-33,蓝球号码范围为 01-16.双色球每期从 33 个 红球中开出 6 个号码,从 16 个蓝球中开出 ...

最新文章

  1. iOS 支付 [支付宝、银联、微信]
  2. 你真的了解深度学习生成对抗网络(GAN)吗?
  3. 玩转“网上邻居”之WINS解析(一)
  4. Design Pattern - Adapter Pattern
  5. iOS设备控制打印机输出文本
  6. maven 插件使用之:打包jar到lib
  7. 小米宣布将停止MIUI全球Beta测试计划
  8. mysql停止更新时间_我如何更新这个MySQL查询以获取从开始、停止、暂停和恢复事件经过的总时间...
  9. 第六届蓝桥杯:三羊献瑞
  10. 写了10年的代码,收藏了这20个代码生成框架!太厉害了,以后都不用自己写代码了...
  11. python入门11 元组tuple
  12. 简要说明python的缩进规则_关于python的缩进规则的知识点详解
  13. python学习笔记--python简介
  14. 决定成功十种积极心态,成功有道理
  15. 不仅国产手机被撕下遮羞布,其实苹果和三星也已没了遮羞布
  16. 计算机声音音乐小星星,幼儿园小班音乐课件:《小星星》
  17. 极光小课堂 | 极光一键登录集成手册--Android
  18. eclipse安装nodejs插件nodeclipse
  19. 微信小程序的各种功能
  20. 用递归和非递归求斐波那契数列

热门文章

  1. 北京大学可视化发展前沿研究生暑期学校Day2
  2. 游戏平台搭建韩国大带宽CN2服务器哪里的比较便宜
  3. haproxy path_beg,path_end ,hdr_beg
  4. 广发卡自动分期,提额就是养卡的过程
  5. MTK 平台lcm驱动框架分析1
  6. 手机界面显示无服务器,手机直接投屏电视,电视上显示投屏成功,却没有图像
  7. excel快速批量制作工资条
  8. springBoot+itext处理富文本转pdf
  9. CSP M4 B ZJM要抵御宇宙射线
  10. 极客日报:vivo投资超49亿元建人才房;马斯克承认完全自动驾驶 “不是很好”;Edge浏览器出现无法关闭的广告