CocosCreator之KUOKUO带你做疯狂木板-过桥(2)

2023-11-23 16:50

本文主要是介绍CocosCreator之KUOKUO带你做疯狂木板-过桥(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本次引擎2.0.5

编辑工具VSCode

目标:

第二部分,过桥与得分。

接着上一节:

我们实现了木板的变长与下落。

现在我们实现一个牛逼的平台,怎么说它牛逼呢?我准备全程就用它一个来完成所有功能。

看KUOKUO怎么实现。console.log(滑稽)

首先,我们复制个ground然后改名字为move_ground,然后拖到中间。

好了,然后我们在mian脚本里声明它:

接下来,我们在onLoad中提前随机个位置和宽度:

位置在0到150之间;宽度在100到200之间吧(你们看心情随机)

我们写个方法:

然后在onLoad开始时调用一次:

好了,随机的平台弄好了,我们在结束触摸时进行长度判断吧:

就是先计算一下可以踩住桥的一个范围,然后看看木板的height在不在范围内:

看注释(第二个式子的注释应该是右边界):

这样就可以判断游戏状态了。

接下来我们写一下判断成功后的动画(判断失败那里我打印了Gameover,小伙伴们去自定义吧,嘿嘿)

然后,成功后小人走过去,木板长度归零,角度回到0,

记得声明个zhujue节点;把主角拖过去:

在长度判断成功后这样:

小人走过去之后把板子复位,然后平台跟小人一起回去,但是板子回去的多,直至出屏幕 

怎么样,注释全吧!!!

嘻嘻!

看看效果:

 

怎么样?

来,加个分数显示吧!

怎么样,不难吧。

 

好了,由于这个小游戏就用到了一个脚本(其实不是好习惯,还有我的代码并不是最优的,主要是思维要到位!)

我就不打包上传网盘啦!给出代码:

main.js

cc.Class({extends: cc.Component,properties: {// 木板节点blank : cc.Node,// 变长标志long_flag : 0,// 移动平台move_ground: cc.Node,// 主角zhujue : cc.Node,// 分数显示fen_label : cc.Label,// 分数fen : 0},onLoad () {this.fen_label.string = this.fen + '';// 初始化时木板为0this.blank.height = 0;// 随机平台属性this.randomGround();// 触摸开始this.node.on('touchstart',function() {this.long_flag = 1;},this);// 触摸结束this.node.on('touchend',function() {this.long_flag = 0;// 计算可通过平台的范围// 移动平台的 x 坐标减去木板的 x 坐标再减去宽度的一半为左边界var left = this.move_ground.x - this.blank.x - (this.move_ground.width / 2);// 移动平台的 x 坐标减去木板的 x 坐标再加上宽度的一半为左边界var right = this.move_ground.x - this.blank.x + (this.move_ground.width / 2);// 如果在这个范围内if (this.blank.height >= left && this.blank.height <= right) {// 小人走过去动作// 注意 y 轴坐标是zhujue的var act_go = cc.callFunc(function() {this.zhujue.runAction(cc.moveTo(1,this.move_ground.x,this.zhujue.y));// 加分this.fen ++;this.fen_label.string = this.fen + '';},this);// 开始旋转90度后小人走过去this.blank.runAction(cc.sequence(cc.rotateBy(1.5,90),act_go));// 1.1秒 + 1.5秒 后小人跟平台一起往回走this.scheduleOnce(function() {// 板子复位this.blank.height = 0;this.blank.rotation = 0;// 注意各自 y 坐标this.zhujue.runAction(cc.moveTo(1,-220,this.zhujue.y));this.move_ground.runAction(cc.moveTo(1.5,-330,this.move_ground.y));},2.6);// 平台出屏幕后把 y 减小,然后随机位置浮现this.scheduleOnce(function() {this.move_ground.y = -750;this.randomGround();this.move_ground.runAction(cc.moveBy(1,0,500));},2.6 + 1.5);}else {console.log('Gameover');}},this);},// 随机移动平台属性randomGround () {this.move_ground.x = 0;// 随机x坐标在 0 - 150this.move_ground.x += 150 * Math.random();// 随机宽度 100 - 200;this.move_ground.width = 100 + 100 *Math.random();},update (dt) {if (this.long_flag == 0) {return;}else {this.blank.height += 100 * dt;}}});

Get !~~~

加我QQ群:(博客里面的项目,群文件里都有哦)

706176551

我们一起学习!

O(∩_∩)O~~

这篇关于CocosCreator之KUOKUO带你做疯狂木板-过桥(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/419341

相关文章

YoloV10改进策略:下采样改进|自研下采样模块(独家改进)|疯狂涨点|附结构图

文章目录 摘要自研下采样模块及其变种第一种改进方法 YoloV10官方测试结果改进方法测试结果总结 摘要 本文介绍我自研的下采样模块。本次改进的下采样模块是一种通用的改进方法,你可以用分类任务的主干网络中,也可以用在分割和超分的任务中。已经有粉丝用来改进ConvNext模型,取得了非常好的效果,配合一些其他的改进,发一篇CVPR、ECCV之类的顶会完全没有问题。 本次我将这个模

CocosCreator构建Android项目

CocosCreator构建Android项目 需要安装配置原生环境:官网教程 Visual Studio Code 用于编写js cocos软件:下载地址 android sdk 要低于25 否则不支持ant android ndk r10版本 :ndk不要太高10可以用了 ndk_r10e(Jan 2015) Windows32-bit : http://dl.google.co

当电商“邂逅”微信支付 比想象还疯狂

微信支付在为移动电商带来高效解决方案的同时,也促进了新的移动电商生态的形成。” 12月6日,在腾讯“当电商‘邂逅’移动支付”把脉沙龙上,微信团队与电商代表、外部专家就 微信支付与电商的现状和前景展开研讨,指出当前的“微信价”现象代表了电商企业对微信支付商业模式的探索。未来,微信支付有望发展成为移动互联网时代的一项基础能力,其与微信平台的紧密结合,将帮助电商企业构建起移动互联网时代的全新商业生态。

CocosCreator物理引擎Demo源码分析(3)-stick-arrow

CocosCreator开发笔记(8)-读取和解析JSON数据文件 Box2D C++ 三种作用力效果 ApplyForce、ApplyLinearImpulse、SetLinearVelocity stick-arrow示例展示了如何动态发射刚体飞往目标点。 技术点 1、触摸屏幕发射刚体,计算起点和目标点的夹角,设置刚体的线性速度。 2、在Update中不断施加一个作用力到刚体尾部

P1616 疯狂的采药(完全背包模板)

//这是一道完全背包的题,并且需要用一维数组优化空间,否则会MLE #include <bits/stdc++.h>using namespace std;//t表示可以用来采药的时间(相当于背包容量)//m表示草药的数目(相当于物品数量)int t, m; //m<=10^4,t<=10^7 //w[i]表示采摘第i种草药需要花费的时间(相当于背包模型中物品的体积) //v[i]

到处在裁员,这个行业却在疯狂招人!

1.裁员浪潮不断 8月26日,IBM中国方面确认了将关闭中国研发部门的消息,这一决策涉及员工数量超过1000人。技术迭代浪潮前,哪怕是名企,攻守防退之间的转换也只在一瞬间。AI引发大裁员?这表明IBM正在积极适应技术变革,以提高效率和竞争力,被裁的员工该何去何从? 近期大家也发现,京东开始抓考勤,要减少午休时间一个小时,六点半下班需要提前申请,以提高效率和竞争力。前几年互联网相关的投资非常

CocosCreator JSB学习:JavaScript/TypeScript调用C++函数

CocosCreator版本:v2.3.3 VS2015:编写C++程序,并且在win32平台验证结果。 Android Studio v3.5.2:在安卓平台验证结果 官方学习文档:https://docs.cocos.com/creator/manual/zh/advanced-topics/JSB2.0-learning.html 想要系统的学习,还是需要认真去看官方学习文档(尽管一

CocosCreator Shader学习(五):图片圆形裁剪

圆形裁剪效果 顶点着色器代码不用修改。 片元着色器代码如下: CCProgram fs %{precision highp float;#include <alpha-test>#include <texture>in vec4 v_color;#if USE_TEXTUREin vec2 v_uv0;uniform sampler2D texture;#endifuniform Input

CocosCreator Websocket简单使用

最近在官方文档里看到网络模块相关内容,于是自己写了一个用websocket实现的聊天室Demo,分享一下。 服务端:基于node.js的websocket模块实现。 WebsocketServer.js let ws = require("nodejs-websocket");let server = ws.createServer((connection)=>{connection.on(

CocosCreator 常用优化点

一、包体优化 1:资源压缩(图片,音效,音乐),使用图集。 2:不需要使用代码动态加载的资源不要放到resources目录里面,因为会影响settings.js的大小。 3:项目->项目设置->模块设置,把没有用到的模块取消勾选。比如:纯2D游戏,就可以把3D相关模块取消。 二、加载速度优化 1:场景优化,当场景元素过多时,可以合理利用预制体prefab异步构建场景。 2:预制体加载优