狼的传说小游戏

欢迎来到程序小院

狼的传说

玩法:
鼠标左键选择能防御、战斧、风暴3%、滚石10%、藤曼5%、冰柱5%、飞跃10%、三叶草20%、钢叉15%,消灭所有敌人,不同关卡不同敌人,快去闯关消灭敌人吧^^。

开始游戏icon-default.png?t=N7T8https://www.ormcc.com/play/gameStart/180

html

<div style="text-align:center;"  id="game"></div>

css

#game canvas {margin-left:50%;transform: translateX(-50%);
}

js

// import './js/libs/weapp-adapter'
// import Phaser from './js/libs/phaser-wx.js'
// import Demon from './assets/demon.js'
//技能图标 1.防御0 2.战斧0 3.风暴3% 4.滚石10% 5.藤曼5% 6.冰柱5% 7.飞跃10% 8.三叶草20% 9.钢叉15%
var gameScore = 0;
var game = new Phaser.Game({width: 710,height: 580,renderer: Phaser.CANVAS,parent:'game',// canvas: canvas,
});
var gameState = function (game) {this.create = function () {this.game.physics.startSystem(Phaser.Physics.ARCADE);//开启物理引擎this.bg = this.add.image(0,0,'background');//背景this.grass = this.add.image(0,0,'battlefield');//草坪this.underRails = this.add.sprite(0,0,'under-rails');//底座this.game.physics.arcade.enable(this.underRails);this.rails = this.add.image(0,0,'rails');//滑道this.rails.y = 81;this.underRails.y = 81;this.underRails.width = this.rails.width;this.underRails.height = this.rails.height;this.sky = this.add.image(0,0,'sky');//天空this.earth = this.add.image(0,0,'earth');//土地this.wagon = this.add.image(0,this.underRails.y -10,'wagon');//滑板 第一道-10 第二道60 第三道130 第四道200 第五道270 第六道340 累加70this.wires = this.add.sprite(this.underRails.width,this.underRails.y,'wires');//荆棘this.wires.active = false;//需要技能图标1 防御 激活this.wires.hp = 20;this.wires.hp_ = this.wires.hp;this.wires.dt = 0;this.wires.alpha = 0;this.game.physics.arcade.enable(this.wires);this.wolf = this.add.image(7,this.wagon.y - 40,'wolf');//狼this.wolf.y_ = this.wolf.y;this.wolf.animations.add('walk', [4, 5, 6, 7], 3, true);this.wolf.animations.add('attack', [0,1, 2, 3], 5, true);this.attack = false;this.wolf.animations.play('walk');this.wolf.bulletSpeed = 60;//quicken 加快 更活跃this.axe = this.add.image(0,0,'axe');//武器axe hp==1this.axe.alpha = 0;this.fork = this.add.image(0,0,'fork');//武器fork hp==2this.fork.alpha = 0;this.weapon = this.add.weapon(50,'axe');//武器  //优化时 更换为group weapon.bullets 子弹行为if (this.weapon.bullets.children[0].key=='axe') {//武器耐性this.weapon.hp = 1;}if (this.weapon.bullets.children[0].key=='fork') {//值this.weapon.hp = 3;}this.weapon.bulletKillType = Phaser.Weapon.KILL_WORLD_BOUNDS;this.weapon.fireAngle = Phaser.ANGLE_RIGHT;this.weapon.bulletAngleOffset = 90;this.weapon.bulletSpeed = 400;this.weapon.fireRate = 60;this.weapon.trackSprite(this.wolf, this.wolf.width, this.wolf.height/1.3);this.pigs = this.add.group();//猪this.pigs.enableBody = true;this.skills = this.add.group();//技能图标for (var i = 0; i < 9; i++) {let skillIcon = this.skills.create(0,0,'skills');skillIcon.x = 13 + i * skillIcon.width + i * 13;skillIcon.y = this.bg.height - 13 - skillIcon.height;skillIcon.frame = i;skillIcon.inputEnabled = true;//   if (i>0) {skillIcon.alpha = 0;}}this.storm = this.add.group();//技能图标3 风暴 将敌人推出边界this.storm.enableBody = true;this.stone = this.add.group();//技能图标4 滚石 碾过敌人this.stone.enableBody = true;this.rattan = this.add.group();//技能图标5 藤曼 迟缓诅咒this.rattan.enableBody = true;this.ice = this.add.group();//技能图标6 冰冻 冻住敌人this.ice.enableBody = true;this.skills.getChildAt(0).events.onInputDown.add(function(){//技能图标1 道具 荆棘防御this.wires.active = true;game.add.tween(this.wires).to( { alpha: 1 }, 3000, "Linear", true).onComplete.add(function(){this.wires.act = true;},this);this.skillMask(this.skills.getChildAt(0),100000000);}, this);this.skills.getChildAt(1).events.onInputDown.add(function(){//技能图标2 武器 战斧this.attack = true;this.wolf.animations.play('attack');this.weaponReplace(this.weapon,this.axe,this.fork,1);this.skillMask(this.skills.getChildAt(1),1000000);}, this);this.skills.getChildAt(2).events.onInputDown.add(function(){//技能图标3 技能 风暴if (this.energyEnabled == false) {return false;}this.energy.width -= (this.energy.sum * 3/100);if (this.storm.length>0) {//风暴出界 风消云散for (var i = 0; i < this.storm.length; i++) {if (this.storm.getChildAt(i).x>this.game.world.width) {this.storm.getChildAt(i).destroy();}}}for (var i = 0; i < 6; i++) {//六个道路this.storm_ = this.storm.create(0,0,'storm');this.storm_.scale.set(2.5);this.storm_.x = this.underRails.width;this.storm_.y = 70 + i * 70;this.storm_.animations.add('storm',[0,1,2,3],5,true);this.storm_.animations.play('storm');this.storm_.body.velocity.x = 300;}this.skillMask(this.skills.getChildAt(2),3000);//3s}, this);this.skills.getChildAt(3).events.onInputDown.add(function(){//技能图标4 技能 滚石this.iceTo = false;if (this.energyEnabled == false) {return false;}this.energy.width -= (this.energy.sum * 1/10);if (this.stone.length>0) {//滚石出界for (var i = 0; i < this.stone.length; i++) {if (this.stone.getChildAt(i).x>this.game.world.width) {this.stone.getChildAt(i).destroy();}}}for (var i = 0; i < 6; i++) {//六个道路this.stone_ = this.stone.create(0,0,'stone');this.stone_.scale.set(2);this.stone_.x = this.underRails.width + this.wires.width - this.stone_.width;this.stone_.y = i * 70;this.stone_.animations.add('stone',[0,1,2,3,4,5,6,7,8,9],5,true);this.stone_.animations.play('stone');this.stone_.body.velocity.x = 500;}this.skillMask(this.skills.getChildAt(3),10000);//10s}, this);this.skills.getChildAt(4).events.onInputDown.add(function(){//技能图标5 道具 藤曼 迟缓诅咒if (this.energyEnabled == false) {return false;}this.energy.width -= (this.energy.sum * 1/20);for (let i = 0; i < this.pigs.length; i++) {//生成敌人数目的藤曼this.rattan_ = this.rattan.create(0,0,'rattan');this.rattan_.scale.set(.5);this.rattan_.animations.add('rattan');this.rattan_.x = this.pigs.getChildAt(i).x - this.pigs.getChildAt(i).width/2;this.rattan_.y = this.pigs.getChildAt(i).y;this.pigs.getChildAt(i).body.velocity.x = -30;var that = this;this.rattan_.animations.play('rattan',5).onComplete.add(function(){//冻住敌人动画 完毕后解冻that.rattan.destroy();that.rattan = this.add.group();that.rattan.enableBody = true;}, this);}this.skillMask(this.skills.getChildAt(4),5000);//5s}, this);this.skills.getChildAt(5).events.onInputDown.add(function(){//技能图标6 技能 冰冻if (this.iceTo==false) {return false;//是否可以使用ice 防止出错}if (this.energyEnabled == false) {return false;}this.energy.width -= (this.energy.sum * 1/20);if (this.ice.length>0) {//冰柱消融this.ice.destroy();this.ice = this.add.group();this.ice.enableBody = true;}for (let i = 0; i < this.pigs.length; i++) {//生成敌人数目的冰柱if (this.pigs.getChildAt(i).active) {this.ice_ = this.ice.create(0,0,'ice');this.ice_.x = this.pigs.getChildAt(i).x - this.pigs.getChildAt(i).width/2;this.ice_.y = this.pigs.getChildAt(i).y;this.pigs.getChildAt(i).body.velocity.x = 0;this.pigs.getChildAt(i).animations.stop();this.pigs.getChildAt(i).ice = true;this.pigs.getChildAt(i).iceIndex = i;this.ice_.animations.add('ice',[0,1,2,3,4,5,6],3,false);var that = this;this.ice_.animations.play('ice').onComplete.add(function(){//冻住敌人动画 完毕后解冻if (that.pigs.getChildAt(i)) {that.ice.getChildAt(i).kill();that.pigs.getChildAt(i).ice = false;that.pigs.getChildAt(i).animations.play('walk');that.pigs.getChildAt(i).body.velocity.x = -100;}}, this);} else {continue;}}this.skillMask(this.skills.getChildAt(5),5000);//5s}, this);this.skills.getChildAt(6).events.onInputDown.add(function(){//技能图标7 技能 加速if (this.energyEnabled == false) {return false;}this.energy.width -= (this.energy.sum * 1/10);this.wolf.bulletSpeed = 30;var that = this;this.skillMask(this.skills.getChildAt(6),10000,function(){that.wolf.bulletSpeed = 60;});}, this);this.skills.getChildAt(7).events.onInputDown.add(function(){//技能图标8 道具 三叶草 治愈if (this.energyEnabled == false) {return false;}this.energy.width -= (this.energy.sum * 1/5);this.skillMask(this.skills.getChildAt(7),12000);this.restore = this.add.image(0,0,'restore');this.restore.scale.set(3);this.restore.animations.add('restore');var that = this;this.restore.animations.play('restore',3).onComplete.add(function(){that.restore.destroy();that.life.width = that.life.sum;}, this);}, this);this.skills.getChildAt(8).events.onInputDown.add(function(){//技能图标9 武器 钢叉if (this.energyEnabled == false) {return false;}this.energy.width -= (this.energy.sum * 15/100);this.weaponReplace(this.weapon,this.axe,this.fork,2);var that = this;this.skillMask(this.skills.getChildAt(8),10000,function(){that.weaponReplace(that.weapon,that.axe,that.fork,1);});}, this);///this.add.image(0,0,'life-bar');//血槽this.life = this.add.image(0,0,'life-bar-filled');//血量this.life.sum = this.life.width;this.add.image(0,this.life.height,'energy-bar');//能量槽this.energy = this.add.image(0,this.life.height,'energy-bar-filled');//能量this.energy.sum = this.energy.width;this.energyEnabled = true;///游戏进度条this.progressBarBelow = this.add.image(0,0,'progress-bar-below');this.progressBarOver = this.add.image(0,0,'progress-bar-over');//   this.progressBarBelow.anchor.set(.5);//   this.progressBarBelow.x = this.world.centerX;//   this.progressBarBelow.y = this.progressBarBelow.height*1.7;//   this.progressBarOver.x = this.progressBarBelow.x - this.progressBarOver.width/2;//   this.progressBarOver.y = this.progressBarBelow.y - this.progressBarOver.height/2;Phaser.Display.Align.In.TopRight(this.progressBarBelow, this.bg);this.progressBarOver.x = this.progressBarBelow.x;this.progressBarOver.sum = this.progressBarOver.width;游戏关卡属性this.enemyKey =  new Array('pig','ridding','granny','octocat');//直接在生成敌人位置决定攻击动画 可以共用一个this.enemyBulletKey = new Array('','pie','rock','fireball');this.enemySpeed = new Array(-100,-150,-200,-250);this.scoreLevel = new Array(10,30,50,100);this.level = 0;this.iceTo = true;敌方子弹this.enemyBullets = this.add.group();this.enemyBullets.enableBody = true;this.enemyBullets.setAll('outOfBoundsKill', true);this.enemyBullets.setAll('checkWorldBounds', true);敌方死亡溅血this.bloods = this.add.group();this.bloods.enableBody = true;积分相关this.goldCoin = this.add.group();this.coins = this.add.image(0,0,'coins');this.coins.x = 100;this.number = game.add.retroFont('number', 20, 20, Phaser.RetroFont.TEXT_SET10, 20, 0, 0);///aaa2   a5 24 a2== a22a==3223 b=4 c=5 de=67 fg = 89 h = 0 set10无前缀 a1~j0 set8无前缀12~01this.imageFont = game.add.image(this.world.centerX/2, 49, this.number);this.imageFont.anchor.set(.5,.3);this.number.text = "";this.number.score = '';this.number.table = new Array('a','b','c','d','e','f','g','h','i','j');this.score = 0;this.displayScore();}

源码icon-default.png?t=N7T8https://www.ormcc.com/

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/77567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL——读写分离

简介 读写分离&#xff0c;基本的原理是让主数据库处理事务性增、改、删操作&#xff08;INSERT、UPDATE、DELETE&#xff09;&#xff0c;而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。一般来说都是通过 主从复制&#xff…

得帆云“智改数转,非同帆响”-AIGC+低代码PaaS平台系列白皮书,正式发布!

5月16日下午&#xff0c;由上海得帆信息技术有限公司编写&#xff0c;上海市工业互联网协会指导的以“智改数转&#xff0c;非同帆响”为主题的《得帆云 AIGC低代码PaaS平台系列白皮书》正式在徐汇西岸国际人工智能中心发布。 本次发布会受到了上海市徐汇区政府、各大媒体和业内…

如何实现一个数据库的 UDF?图数据库 NebulaGraph UDF 功能背后的设计与思考

大家好&#xff0c;我是来自 BOSS直聘的赵俊南&#xff0c;主要负责安全方面的图存储相关工作。作为一个从 v1.x 用到 v3.x 版本的忠实用户&#xff0c;在见证 NebulaGraph 发展的同时&#xff0c;也和它一起成长。 BOSS直聘和 NebulaGraph 关于 NebulaGraph 在 BOSS直聘的应…

9.13 | day 6 |day 45| to 完全平方数

● 70. 爬楼梯 &#xff08;进阶&#xff09; class Solution {public int climbStairs(int n) {int[] dp new int[n1];//设置背包容量&#xff1a;n个int m 2;//有两个物品&#xff0c;注意这是一个完全背包问题dp[0] 1;//initialize ​for(int i 1;i<n;i){//遍历背包f…

快速幂 c++

一般大家写都是 int ans 1; for (int i 1; i < a; i )ans * x;时间复杂度 但是这对于我们还不够&#xff0c;我们要 首先我们得知道一个数学知识 那么求 就有以下递归式 a 能被2整除 a 不能被2整除 (这里a/2是整除) 所以每次都调用 不就是么 最后补充一个东西…

.net core 上传文件大小限制

微软官网文档中给的解释是.net core 默认上传文件大小限制是30M&#xff0c;所以即便你项目里没有限制&#xff0c;这里也有个默认限制。 官网链接地址 总结了一下解决办法&#xff1a; 1.首先项目里添加一个web.config自定义配置文件 在配置文件中加上这段配置 <!--//…

SQL 注入漏洞攻击

文章目录 1. 介绍2. 无密码登录3. 无用户名无密码登录4. 合并表获取用户名密码 1. 介绍 假设你用自己的用户名和密码登录了一个付费网站&#xff0c;网站服务器就会查询一下你是不是 VIP 用户&#xff0c;而用户数据都是放在数据库中的&#xff0c;服务器通常都会向数据库进行查…

二维多孔介质图像的粒度分布研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Gartner 2023API管理市场指南重磅发布,得帆云iPaaS标杆入榜

中国API管理-市场指南 Market Guide for API Management, China 是由全球最具权威的IT咨询与研究机构Gartner发布、聚焦中国API管理市场领域的专业研究报告&#xff0c;通过对市场概况以及代表厂商的分析&#xff0c;为企业决策者提供重要依据与参考。 得帆云iPaaS融合集成平台…

【MySQL系列】MySQL的用户管理

「前言」文章内容大致是MySQL的用户管理。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、用户管理1.1 用户信息1.2 创建新用户1.3 删除用户1.4 修改用户密码 二、数据库的权限2.1 给用户授权2.2 回收用户权限 一、用户管理 MySQL与Linux类似&#x…

NAT(网络地址转换)

文章目录 一、产生背景二、公有地址和私有地址三、定义四、分类五、常用命令 首先可以看下思维导图&#xff0c;以便更好的理解接下来的内容。 一、产生背景 IPv4公网地址资源耗尽&#xff1a; 由于IPv4地址空间有限&#xff0c;公网IPv4地址资源逐渐耗尽&#xff0c;导致难以分…

基于Android的生鲜农产品商城交易设计与实现

摘 要 人们生活水平随着发展不断的提升&#xff0c;人们对生鲜产品消费比越来越依赖&#xff0c;都希望吃到新鲜的食品。消费的加大给生鲜了全新的供应链及销售模式&#xff0c;那种传统的生鲜配送模式也在发生着变化。生鲜系统电商平台在我国目前是属于盛行的电商行业&#x…

如何将pdf文件变小?三招学会pdf文件压缩

在日常工作和生活中&#xff0c;我们常常需要处理大量的PDF文件&#xff0c;然而&#xff0c;有时候这些文件的大小会成为问题&#xff0c;比如文件太大无法通过邮件发送、在线上传&#xff0c;或者在手机上打开时读取缓慢等&#xff0c;为了解决这些问题&#xff0c;我们需要将…

PN结解释

基本原理 PN结由P和N组成 硅掺杂硼&#xff0c;缺少电子&#xff0c;显正电&#xff0c;就是P&#xff08;Positive&#xff09; 硅掺杂磷&#xff0c;多出电子&#xff0c;显负电&#xff0c;就是N&#xff08;Negative&#xff09; 将P和N拼接 左边代表游离的电子&#xf…

flex布局学习笔记

flex布局 推荐网址&#xff1a;弹性框完整指南 |CSS-Tricks - CSS-Tricks 基础知识和术语 由于flexbox是一个完整的模块&#xff0c;而不是一个单一的属性&#xff0c;它涉及很多事情&#xff0c;包括它的整套属性。其中一些应该在容器&#xff08;父元素&#xff0c;称为“…

这些嵌入式系统安全性的知识你需要了解

这可能是 工程师在面对嵌入式系统应用程序的安全性时可能提出的第一个问题。 不幸的是&#xff0c;有大量的“安全软件包”可用&#xff0c;并且对安全性不熟悉的嵌入式工程师可能只将安全性称为加密或病毒防护。尽管加密是安全性的一种工具&#xff0c;而病毒扫描程序从技术上…

Python爬虫实现(requests、BeautifulSoup和selenium)

Python爬虫实现&#xff08;requests、BeautifulSoup和selenium&#xff09; requests实现 Python requests 是一个常用的 HTTP 请求库&#xff0c;可以方便地向网站发送 HTTP 请求&#xff0c;并获取响应结果。 下载requests库 pip install requests 实例&#xff1a; # 导…

基于Android系统图书管理系统

摘要 随着移动终端使用率的快速增加&#xff0c;Android智能产品已日益成为越来越多的人们选择的移动终端产品。伴随着Android智能手机与平板电脑已经在我们生活大量的使用&#xff0c;越来越多的基于Android开发平台的应用也随之产生。 便捷的图书检索和借阅&#xff1a;用户可…

ACL(访问控制列表)

文章目录 一、ACL定义常见功能 二、基于ACL的包过滤定义包过滤的方向包过滤的工作流程注意事项 三、ACL分类四、常用命令 首先可以看下思维导图&#xff0c;以便更好的理解接下来的内容。 一、ACL 定义 ACL&#xff0c;也称为访问控制列表&#xff0c;是一种网络安全工具&…

【爬虫】8.1. 深度使用tesseract-OCR技术识别图形验证码

深度使用tesseract-OCR技术识别图形验证码 文章目录 深度使用tesseract-OCR技术识别图形验证码1. OCR技术2. 准备工作3. 简单作用了解3.1. 验证码图片爬取-screenshot_as_png3.2. 识别测试-image_to_string3.2.1. 正确识别3.2.2. 错误识别3.2.3. 灰度调节 3.3. 识别实战-使用im…