在rpg游戏,包括很多其他游戏中,都要用到摇杆操控角色进行移动的效果,可以说是很多游戏的必须模块,今天我们就来实现这个模块


效果展示:

首先准备好摇杆的素材

摇杆代码:joystick.js

cc.Class({extends: cc.Component,properties: {stick: cc.Node,max_R: 90,},start() {this.dir = cc.v2(0, 0);this.stick.setPosition(cc.v2(0, 0));this.stick.on(cc.Node.EventType.TOUCH_START, function (e) {//开始触摸}.bind(this), this);this.stick.on(cc.Node.EventType.TOUCH_MOVE, function (e) {//移动var screen_pos = e.getLocation();var pos = this.node.convertToNodeSpaceAR(screen_pos);//最大边距var len = pos.mag();this.dir.x = pos.x / len;// x costhis.dir.y = pos.y / len;// y sinif (len > this.max_R) {pos.x = pos.x * this.max_R / len;pos.y = pos.y * this.max_R / len;}this.stick.setPosition(pos);}.bind(this), this);this.stick.on(cc.Node.EventType.TOUCH_END, function (e) {//结束this.dir = cc.v2(0, 0);this.stick.setPosition(cc.v2(0, 0));}.bind(this), this);this.stick.on(cc.Node.EventType.TOUCH_CANCEL, function (e) {//触摸弹起this.stick.setPosition(cc.v2(0, 0));this.dir = cc.v2(0, 0);}.bind(this), this);},update(dt) { },
});

角色代码:tank

var joystick = require("joystick");cc.Class({extends: cc.Component,properties: {stick: {type: joystick,default: null,},speed: 2000,},start() {  },update(dt) {if (this.stick.dir.x === 0 && this.stick.dir.y === 0) {return;}this.vx = this.speed * this.stick.dir.x;this.vy = this.speed * this.stick.dir.y;var sx = this.vx * dt;var sy = this.vy * dt;var r = Math.atan2(this.stick.dir.y, this.stick.dir.x);var degree = r * 180 / Math.PI;this.node.x += sx;this.node.y += sy;degree = 360 - degree;degree = degree + 90;this.node.angle = -degree;},
});

脚本代码写完后记得将脚本挂载在节点上(joystick挂载在摇杆上,tank挂载在角色节点上,完成后就可以实现用摇杆控制角色移动啦),

CocosCreator中游戏摇杆的实现相关推荐

  1. CocosCreator 中的摇杆

    前面一篇文章写了几种常见的主角控制方式,这篇文章将介绍 利用摇杆JoyStick 去控制主角. 看到网上都是JS写的代码,找了一个效果不错的参考了一下,本文采用TS写的: 首先查看效果图: 摇杆有两种 ...

  2. CocosCreator游戏开发---菜鸟学习之路(三)如何在CocosCreator中使用Pomelo

    PS(废话): 这段时间都在研究网易的Pomelo框架,作为新手小白,自然遇到了不少坑爹的事情.(当然也有可能是因为自己技术不过关的原因所以导致在很多基础的问题上纠结了很久.)网上也搜索了好久,但是基 ...

  3. android 游戏遥感,Android2.2+游戏摇杆 MOPS魅影T800评测

    为游戏而生:MOPS魅影T800 Android凭借着自身出色的设计以及丰富的第三方软件应用的支持,目前已经成为了最炙手可热的智能手机系统之一,很多朋友对Android感兴趣是因为其具有非常丰富的软件 ...

  4. CocosCreator中使用Animation制作动画

    CocosCreator中使用Animation制作动画 大家好,今天给大家分享的是关于如何使用CocosCreator来制作动画效果的经验. 我们知道,一个游戏中不可或缺的元素就是动画,比如小鸟展翅 ...

  5. STM32 PS2游戏摇杆 测试

    PS2游戏摇杆有3个输出口,按照手册应该是2个模拟输出(XY),1个数字输出(Z),因此用stm32的ADC进行测试. PS2 原理图: ADC配置: 代码: MX_ADC1_Init(); HAL_ ...

  6. 【Unity插件】游戏摇杆Joystick

    文章目录 前言 一.Joystick摇杆类型 二.摇杆基本属性 三.摇杆使用方法 四.其他功能及扩展 总结 前言 最近开发很多游戏Demo中都有用到游戏摇杆Joystick.个人还是挺喜欢用这个插件的 ...

  7. CocosCreator中使用pureMvc

    PureMVC框架的目标很明确,即把程序分为低耦合的三层:Model.View和Controller. PureMvc的结构 Model与Proxy Model保存对Proxy对象的引用,Proxy负 ...

  8. c# winform 实现北通 游戏手柄 游戏摇杆二次开发 包含视觉头盔

    c# winform 游戏手柄的二次开发,包含视觉头盔 基础实现 视觉头盔的数据如何获取 如何移植代码到自己的项目中 基础实现 在之前的文章中,描述了如何使用摇杆获取xyz轴坐标,以及游戏手柄的按键. ...

  9. Unity3D 游戏引擎之IOS自定义游戏摇杆与飞机平滑的移动(十一)

    Unity3D 游戏引擎之IOS自定义游戏摇杆与飞机平滑的移动 雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong. ...

最新文章

  1. java 图像 截取正方形,Instagram API仅返回正方形(裁剪)图像
  2. Java程序设计学习笔记(四)—— GUI
  3. Codeforces Round #496 (Div. 3)【未完结】
  4. (转)css中通常会用到浮动与清除,也是一个必须掌握的知识点,概念性的东西不多说,下面举几个例子,来说明它的用法:1.文字环绕效果 2.多个div并排显示 3.清除浮动(默认显示)...
  5. [BUUCTF-pwn]——picoctf_2018_buffer overflow 1
  6. 【一天一个shell命令】好管家-磁盘-du
  7. BizTalk开发系列(十九) BizTalk命名规范
  8. 从数据仓库到报表,再到可视化,数字化物流是这么设计架构的
  9. 六招教你快速提升网站交互体验,降低跳出率
  10. gambas 编译_使用Gambas进行BASIC编程,适合初学者
  11. 不想打造物联网的制造型企业不是一家合格的百年老店
  12. XMLDictionary 解析的使用
  13. vc listview 大图标间距设置
  14. T-SNE可视化实现
  15. 【3分钟速读】那些你苦苦搜索的模板,是这么被捣腾出来的
  16. ECLISPE的快捷键大全
  17. onu光功率多少是正常_光猫的收发光功率正常范围是多少
  18. 中标麒麟B040版本桌面系统root密码破解
  19. ubuntu22.04卡住死机并且键盘鼠标均无反应
  20. Linux下安装libgdal库,libjpeg库和libtiff库

热门文章

  1. python输入身份证号得到出生日期_初学django1:django模型中自定义方法从身份证号码中获取出生日期...
  2. python 转百分比_编程要从娃娃抓起,北乔治亚大学教授的python编程指南在此
  3. background 背景属性详解
  4. Android开发必备(干货源码放送大)
  5. html表格中加函数,excel中的substitute函数
  6. 微信小程序实现按钮数组单击更改颜色
  7. 来了!Python官方文档中文版
  8. 【回归分析】[6]--残差分析
  9. Python标准库第三方库
  10. python中的int()_python中的int函数如何使用?