放风筝H5小游戏

2023-12-05 12:04
文章标签 h5 小游戏 放风筝

本文主要是介绍放风筝H5小游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎来到程序小院

放风筝

玩法:点击鼠标拖动风筝上下左右移动,不能碰到树叶,移动风筝要注意缓慢移动哦,
不然会飞的很快收不回来的,根据你飞行的高度会有一个分数统计,快去放风筝吧^^。

开始游戏

html

  <canvas width="640" height="1036"></canvas>

css

canvas{display: block; touch-action: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); width: 340px; height: 550px; cursor: default; margin-left: 370px; margin-right: -370px; margin-top: 0px;
}

js

Kiteflying.Game.prototype = {create: function() {this.game.touchControl = this.game.plugins.add(Phaser.Plugin.TouchControl);this.game.touchControl.settings.singleDirection = false; //控制方式 false:360°控制 true:上下左右控制this.bg = this.add.tileSprite(0,0,Kiteflying.GAME_WIDTH,Kiteflying.GAME_HEIGHT,'gameBg');this.branchGroup = this.add.group();this.branchGroup.enableBody = true;this.kite = this.add.sprite(Kiteflying.GAME_WIDTH/2-30,Kiteflying.GAME_HEIGHT/2,'kite');this.kite.animations.add('fly');this.kite.animations.play('fly', 10, true);this.physics.enable(this.kite,Phaser.Physics.ARCADE);this.kite.body.setSize(55, 120, 10, 20);this.kite.body.collideWorldBounds = true;this.bmpText = this.add.bitmapText(30, 10, 'desyrel','0', 64);this.scoreBox = this.add.group();this.hasStarted = false;this.time.events.loop(2500, this.createBranch, this);this.time.events.stop(false);this.startGame();},easeInSpeed : function(x){return x * Math.abs(x) / 1500;},update: function() {if(!this.hasStarted) return;this.physics.arcade.overlap(this.kite, this.branchGroup, this.hitBranch, null, this);if(!this.gameIsover){this.checkScore();this.speed = this.game.touchControl.speed;this.bg.tilePosition.x += this.easeInSpeed(this.speed.x/3);this.kite.x -= this.easeInSpeed(this.speed.x);this.kite.y -= this.easeInSpeed(this.speed.y);}},rd : function(n,m){var c = m-n+1;return Math.floor(Math.random() * c + n);},startGame : function(){this.gameSpeed = 200;this.hasStarted = true;this.gameIsover = false;this.score = 0;this.bg.autoScroll(0,this.gameSpeed/5);this.time.events.start();this.game.touchControl.inputEnable();},gameover : function(){this.gameIsover = true;this.bg.stopScroll();this.branchGroup.forEachExists(function(kite){kite.body.velocity.y = 0;}, this);this.time.events.stop(true);this.bmpText.destroy();this.branchGroup.destroy();this.kite.destroy();this.showGameOverTxt();},showGameOverTxt : function(){this.scoreBox.create(0,0,'scoreBox');this.scoreBox.x = 30;this.scoreBox.y = 70;this.style = { font: "38px Microsoft Yahei", fill: "#774b16", wordWrap: true, wordWrapWidth: this.scoreBox.width, align: "center" };this.scoreTxt = this.add.text(150, 118, "恭喜你\n你的最终得分是" + this.bmpText.text);this.add.button(Kiteflying.GAME_WIDTH/2-160, Kiteflying.GAME_HEIGHT/2 - 180,'button-rest', this.gameReset, this);},gameReset : function(){this.state.start('Game');},createBranch : function(){this.gap = this.gap || 150;var leftBranch = -(100 + this.rd(150,450));var rightBranch = leftBranch + this.gap + 640;if(this.resetBranch(leftBranch,rightBranch)) return;var leftBranch = this.add.sprite(leftBranch, -150, 'branchs', 0, this.branchGroup);var rightBranch = this.add.sprite(rightBranch, -150, 'branchs', 1, this.branchGroup);this.branchGroup.setAll('checkWorldBounds',true);this.branchGroup.setAll('outOfBoundsKill',true);this.branchGroup.setAll('body.velocity.y', this.gameSpeed);},resetBranch : function(leftBranch,rightBranch){var i = 0;this.branchGroup.forEachDead(function(kite){if(kite.x<=0){kite.reset(leftBranch, -150);}else{kite.reset(rightBranch, -150);}kite.body.velocity.y = this.gameSpeed;i++;},this)return i == 2;},hitBranch : function(){if(this.gameIsover) return;this.gameover();},checkScore : function(){this.bmpText.text = ++this.score / 10;this.gameSpeed+=0.1;}
};

源码

需要源码请关注添加好友哦^ ^

转载:欢迎来到本站,转载请注明文章出处https://ormcc.com/

这篇关于放风筝H5小游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

H5漂流瓶社交系统源码

一个非常有创意的H5漂流瓶社交系统源码,带完整前端h5和后台管理系统。 环境:Nginx 1.20.1-MySQL 5.6.50-PHP-7.3 代码下载

ios免签H5

1、windows下载mobileconfig文件制作工具,可在csdn搜索iPhone_Mobileconfig_Tool下载安装;IOS 从APP Store 下载Apple Configurator 2 2、用申请的域名SSL证书给mobieconfig文件签名,最好下载Apache证书,里面包含 AE86211.crt 服务器端用于签名的证书 AE86211.key 服务器端用于签

android 的webView加载h5,和h5的交互(java和JavaScript的交互)

Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本。本文将介绍如何实现Java代码和Javascript代码的相互调用。(通俗点说就是,点击那个Web页面的按钮啥的,可以传到原生app;或者原生app调用Web页面的js方法) 如何实现 实现Java和js交互十分便捷。通常只需要以下几步。 WebView

webview之加载H5界面无法调用手机本地图库

webview加载H5页面,如果H5界面需要调用手机的本地图库 首先在此祝各位大佬远离BUG 比如我们在开发中会遇到这样的场景,需要加载一个H5界面,这个界面里面可能有用户上传头像这个功能,但是当你怎么点击上传图片的时候它都无响应。但是你把这个H5用手机浏览器打开,会发现他可以正常调用手机本地的图库,对于此类问题,我分两种情况讲Acvtivity里面用webview去加载 H5界面。fragm

恋爱相亲交友系统源码原生源码可二次开发APP 小程序 H5,web全适配

直播互动:平台设有专门的直播间,允许房间主人与其他异性用户通过视频连线的方式进行一对一互动。语音视频交流:异性用户可以发起语音或视频通话,以增进了解和交流。群组聊天:用户能够创建群聊,邀请自己关注的异性朋友加入,以便进行多人在线交流。虚拟礼品赠送:平台提供多样化的虚拟礼物,不同礼物有不同的价值,用户可以用来表达好感或支持。私人消息:异性用户之间可以互相发送私人信息,不过平台为了维护用户体验,对

2024霸王餐小程序cps,h5公众号小程序开源版系统搭建开发,外卖霸王餐小程序系统源码

目录 前言: 一、霸王餐小程序的操作是怎么样的? 二、霸王餐系统后台 三、怎么搭建部署? 前言: 霸王餐项目基于美团和饿了么平台开发的小程序。 一、霸王餐小程序的操作是怎么样的? 1、进入小程序后选择自己要下单的店铺,点击去抢单,点击立即抢单。 2、输入平台外卖绑定的手机号,点击确认报名。按照步骤操作即可。 3、等待外卖送达后,完成评价即可。 二、霸王餐系统后台

uniapp+vue3实现双通道透明MP4播放支持小程序和h5

双通道透明MP4视频播放的截图 以下是合成后结果,二个合并在一起进行播放 下载资源,打开运行直接使用看到效果 https://download.csdn.net/download/qq_40039641/89715780

微信公众号h5网页-调用录音评测

一、全局引入jweixin-1.6.0.js微信能力插件; 二、初始化微信配置,开启音频相关能力; initWxConfig() {let url = window.location.href.split('#')[0]let data = { url: url }this.$http.get(this.$api.getTicket, { params: data }).then((res)