简介

寒假开始,花了5天时间利用Egret引擎开发了一款HTML5小游戏,最终界面效果如下:


【游戏首页】

【游戏图鉴】

【游戏截图】

项目结构


主要的类就是list.ts和Main.ts,再就是存放游戏素材的resourc文件夹
创建对战消息:

 let show_game:egret.TextField=new egret.TextField();show_game.text="对战消息:";show_game.x=1000;show_game.y=1000;this.parent.addChild(show_game);let show_game1:egret.TextField=new egret.TextField();show_game1.text=" 游戏开始了";show_game1.x=1000;show_game1.y=1070;this.parent.addChild(show_game1);let show_game2:egret.TextField=new egret.TextField();show_game2.text=" BOSS蠢蠢欲动";show_game2.x=1000;show_game2.y=1140;this.parent.addChild(show_game2);

动态更改游戏消息:

 function message_content_chage(content:string){//实现替换消息内容message_position_chage(show_game2.text);show_game2.text=content;}function message_position_chage(content:string){//实现两个消息框内容更迭show_game1.text=content;}

由于是双人游戏,需要处理对键盘按键的控制,不可避免的会出现同时按键,最后一次按键的行为有效,前一次失效的情况。
比如:玩家1按键向左移动,玩家2紧随其后按键向左移动,最终结果是玩家2移动,玩家1不动,这个问题需要解决。
我们可以采取一种别的处理方式,既然他对keydown事件的处理只能倾听最后一个,我们可以采取keydown和keyup结合的方式,利用一个布尔型数组存储以各个按键的keycode值对应的下标的值,按键之后(keydown)将其设为true,松开键(keyup)设为false,将判断分散到数组中,解决了冲突的问题。

var key_pressed={};//监听数组,用来存储键盘状态
//通过监听keyup执行双人游戏
document.addEventListener("keyup",function(e){//键盘抬起,不移动console.log(e.keyCode+"is up")key_pressed[e.keyCode]=false;});
//通过监听keyup执行双人游戏
document.addEventListener("keydown",function(e){//键盘按下,执行某些事件console.log(e.keyCode+"is down")key_pressed[e.keyCode]=true;});

egret开发HTML5小游戏-疯狂大乱斗相关推荐

  1. egret开发HTML5小游戏-《猫猫大作战》(一)

    ps:本文适用于和我一样刚刚入门egret的同学们,大佬看到这里可以忙别的去了. 之前用egret引擎设计了一款双人设计小游戏-<疯狂大乱斗>,算是初步了解了引擎的使用,这次打算开发一款基 ...

  2. Egret开发HTML5小游戏代码分享

    本游戏为<Egret HTML5游戏开发指南>中的案例.作者将代码在这里做一下分享.案例中有两个主要的代码文件,一个Main.ts,一个Circle.ts.在Circle.ts中使用了eg ...

  3. 如何使用egret开发微信小游戏(一)Hello World

    如何使用egret开发微信小游戏(一)Hello World 微信小游戏上线以来,凭借微信海量的用户,取得了巨大的成功,从跳一跳到大家一起来滑水,从2d游戏到3d游戏,许多游戏开发者都赚的盆满钵满,我 ...

  4. 开发 HTML5 小游戏

    Html5小游戏 在介绍小游戏之前,先看一个框架 Phaser. Phaser 框架是一个 快速.免费且开源的 HTML5 游戏开发框架,它提供了 Canvas 和 WebGL 两种渲染方式,兼容 P ...

  5. 微信游戏脑力大乱斗92一个计算机,微信脑力大乱斗答案大全_全关卡图文攻略_软吧...

    脑力大乱斗是一款非常益智的小程序游戏,大家通过微信就可以直接打开无需下载.这里小编为大家提供的是所有关卡的过关技巧帮助小伙伴们了解这个游戏的脑洞,在碰上难题的时候协助大家顺利过关! [游戏入口] 在微 ...

  6. 微信游戏脑力大乱斗92一个计算机,微信脑力大乱斗x游戏_脑力大乱斗x游戏答案完整版预约_第一手游网...

    微信脑力大乱斗x这款火爆微信小程序的趣味答题类闯关游戏,游戏以各种脑经急转弯方式的题目让很多玩家沉迷其中,各种搞笑有趣的题目你可以玩到笑喷,不知道微信脑力大乱斗x题目答案的小伙伴们可以在下方了解一下哦 ...

  7. 第一次使用Egret开发微信小游戏经验总结(包括排行榜排序,每周一数据清零,超越好友等处理)

    最近项目组立项了个小游戏,用Egret(白鹭)开发,本来游戏核心功能2天就完成了,后来准备接入微信好友排行榜的时候,用到了子域,加入分享给好友的时候,图片合成后分享给微信好友有时候不能显示出图片内容. ...

  8. 真心话大冒险HTML5小游戏,真心话大冒险游戏怎么玩才有趣

    说到真心话大冒险,这应该是年轻人都喜欢玩的一个游戏,下面小编为大家整理了关于真心话大冒险的游戏玩法,欢迎大家阅读. 真心话大冒险游戏怎么玩才有趣 包厢里几个人围坐在一起,分散着坐在包厢里的各个角落,会 ...

  9. Egret 开发H5小游戏

    Egret Wing 代码编辑器 ResDepot 静态资源加载器 项目目录主要构成:resource文件夹下的新建的游戏文件(用于存放图片,音频和json文件等资源).新建游戏同名的 .ts 文件( ...

最新文章

  1. 字符串匹配算法 -- AC自动机 基于Trie树的高效的敏感词过滤算法
  2. IBM虚拟化石油行业成功案例分享
  3. java继承的关键字_超级关键字在Java继承中的作用
  4. 剪绳子python_Python剪绳子如何实现 Python剪绳子实现代码
  5. Android构建流程——篇三
  6. PackStack安装OpenStack Pike
  7. CSS——icon 全解
  8. python封装sql脚本 github_python-SQL查询语句精华使用简要
  9. apache_fileupload实现文件上传_上传多个文件
  10. DeepMind给人工智能搞了一套IQ测试题
  11. linxu /proc/stat 文件
  12. winform 实现qq代理_「设计模式」代理模式:神奇的代理模式,节省了我80%开发时间...
  13. Python实战,截图识别文字,过万使用量版本?
  14. Erlang学习时间曲线
  15. PrecompiledAssemblyException: Multiple precompiled assemblies with the same name websocket-sharp.dll
  16. [深度学习] - 网络模型训练过程的 loss 变化分析 (loss / val_loss / test_loss)
  17. php 闭合标记,什么叫自闭合标签?自闭标签有什么用
  18. 软件测试面试,一定要准备的7个高频面试题(附答案,建议收藏)
  19. 添加百度统计,有利于网站SEO,百度终于发声了
  20. 智慧路灯机器人是什么

热门文章

  1. 双微信,分享发生TransactionTooLargeException 异常,记录
  2. java实现excel转pdf文件
  3. 用开源软件搭建企业内部协作平台, Kill QQ MSN
  4. 约战计算机——战术分析
  5. fallguy服务器维护,糖豆人fallguys
  6. 云架构师进阶攻略(完整版)
  7. kaggle注册验证码问题
  8. 二十天初级会计能过吗?
  9. 计算机桌面推流,OBS桌面视频直播软件/推流工具使用指南
  10. 引用类型导致的线程安全问题