jump-gammer

这很简单,先这样再这样(= = 哈哈哈,做的时候就各种红了)。这个项目是我上一年参加虎牙小程序比赛,留下的(不知道现在虎牙小程序凉凉了没)。 那时候遇到了各种部署上去的问题,通宵了两晚修改pixi和pixi-spine的源码,遗憾的是错过了比赛提交的时间节点。所以这就是, 那个stone(人物踩在上方的,落脚物)为什么是HuyaLogo的原因。

所以把这个项目拉出来,修改成web页面,http升级成websocket,做个基本游戏的示范教程吧。

项目示例,欢迎提issues。

预览图

Demo Getting Started

# npm i

# npm run serve

git clone 服务器url

# npm i

# tsnd --respawn ./src/serve-1.0.1.ts

完成,哪里报错改哪里(比如服务器url,需要直接修改下)。

工具

mvc或者mvvm框架,自己喜欢就行,用自己熟悉的。

PixiJS,PixiJS是啥? PixiJS是一个超快的2D渲染引擎。它自动侦测使用 WebGL 或者 Canvas。开发者无需专门学习 WebGL 就能感受到强大的硬件加速的力量。 emm,反正就是一个很厉害的东西(某厂哒哒最喜欢PixiJS了,我一开始研究他们的H5,他们就是用PixiJS实现各种好玩的交互的)。

pixi-spine,骨架。使制作好的动画可以加载于Pixi,可以调用方法来进行动画播放。

TypeScript,静态类型检查工具,游戏状态类型多,一定一定要用,不然修改对象类型根本无从下手。

git,版本管理工具,顺便要说的是,要遵循常用Gitflow工作流程,大型的游戏一个人根本开发不来(虽然这不是大型游戏,但是建议哦,从小做起)。

docker/cdn,部署项目用的,这个项目是基于cdn的,喜欢折腾自己的可以像这个游戏的服务器一样使用docker+travis。

night-watch,e2e测试,本游戏需要4个玩家,不想心累的可以写e2e测试。

微信分享,微信获取名称,自己手写吧。

教程

游戏需求

游戏需要四位玩家,每位玩家只能控制三个位置,所移动到的位置如果有且仅有一位玩家到达,那么获得该位置得得分,否制大家都获得不了分数。 游戏房主在创建房间的时候,如果退出房间,该房间解散,玩家们需要重新选择房间或创建房间。

状态考虑的东西就有点多了。

工具配置

Sprite

Sprite是啥?可以当作一个图片的对象(texture纹理)。

生成一个sprite

const SPRITE = new PIXI.Sprite.from('xx.png')

// or

PIXI.Loader.shared.add("assets/spritesheet.json").load(setup)

function setup() {

let sheet = PIXI.Loader.shared.resources["assets/spritesheet.json"].spritesheet;

let sprite = new PIXI.Sprite(sheet.textures["image.png"]);

}

AnimatedSprite

动画序列帧Sprite,比如我们碰撞的时候需要眩晕效果,跳跃的时候需要尘埃效果,这个时候就可以使用播放序列帧的方法,达到动画的效果。

public parseTexture(textures: PIXI.Texture, x: number, y: number) {

const animationSprite = new PIXI.AnimatedSprite(textures)

animationSprite.animationSpeed = 0.2

animationSprite.width = 50

animationSprite.height = 50

animationSprite.x = x

animationSprite.y = y

animationSprite.gotoAndPlay(Math.random() * 2)

}

PIXI-SPINE

人物sprite

创建人物Sprite,人物?人物起码会动吧?面部表情?身体动作?那我们是不是要建造一个容器,容器里面包括无数sprite或者无数子容器,比如人物的手、脸部、头部等。 emmm,这也太难了吧?光是把sprite组合起来就已经麻烦了,而且还要按照规律来移动手臂,身体,脸部表情。 怎么办?pixi-spine走起。

stone sprite

跳跃AnimatedSprite

灰尘AnimatedSprite

气泡AnimatedSprite

Action

移动路线

移动方向判断

碰撞

stone与人物保持x距离

人物碰撞(性能优化,条件性判断碰撞)

碰撞相关特效展示

游戏进入流程图

游戏规则

服务器逻辑状态处理

pixi 小游戏_pixi2d小游戏跳一跳源码/pixi教程,基于pixi-spine的2d游戏相关推荐

  1. mfc使用cef源代码实现_如何获得微信小游戏跳一跳源码以及源代码组合包括哪些...

    很多小游戏都是由源代码编写而成的,那大家知道源代码组合包括哪些吗?手机游戏源代码怎么使用的呢?还有,如何获得微信小游戏跳一跳源码?下面就由奇瑰网小编带大家来了解一下相关的内容吧. 源代码组合包括哪些 ...

  2. 如何拷贝工程_如何获得微信小游戏跳一跳源码以及源代码组合包括哪些

    很多小游戏都是由源代码编写而成的,那大家知道源代码组合包括哪些吗?手机游戏源代码怎么使用的呢?还有,如何获得微信小游戏跳一跳源码?下面就由奇瑰网小编带大家来了解一下相关的内容吧. 源代码组合包括哪些 ...

  3. c语言小游戏跳一跳代码及注释,如何获得微信小游戏跳一跳源码以及源代码组合包括哪些...

    原标题:如何获得微信小游戏跳一跳源码以及源代码组合包括哪些 很多小游戏都是由源代码编写而成的,那大家知道源代码组合包括哪些吗?手机游戏源代码怎么使用的呢?还有,如何获得微信小游戏跳一跳源码?下面就由奇 ...

  4. 微信小程序 wxapkg 反编译 获得微信小游戏跳一跳源码

    前言 昨天 V2EX 上的一篇通过抓包来获取微信跳一跳源码的文章走红,文章连接点击这里 我也在通过文章中的方式进行了抓包,但是并未探测到小游戏的下载连接,可能微信对此已经进行了修复.而且上文中提供的下 ...

  5. 跳一跳python源码下载_教程 跳一跳源码

    这个压缩包为跳一跳工具源码 (安卓版) 仅供代码爱好者交流研究, 且不可用作其他用途,否则后果自负!!! 本来想分享一点数据分析领域-回归预测模型解读与实际工作中发挥用处 后来看到朋友圈被跳一跳霸屏, ...

  6. [内附完整源码和文档] 基于Java实现的数独游戏

    一.本游戏背景介绍 相传数独源起于拉丁方阵(Latin Square),1970年代在美国发展,改名为数字拼图(Number Place),之后流传至日本并发扬光大,以数字智力游戏智力拼图游戏发表.在 ...

  7. 全套源码丨超实用的双人联机对战游戏开发分享,拒绝踩坑!

    在手游市场高度同质化的趋势下,随着各家手机厂商纷纷布局智慧大屏.平板.PC 等不同形态的设备,强调系统与生态侧的场景协同就成为了发展刚需,多终端协同游戏针对游戏体验本身,带来玩法上的更多可能性. Co ...

  8. 微信小游戏《飞机打方块》源码分享

    微信小游戏<飞机打方块>源码分享 游戏使用CocosCreator v2.4.2开发 源码:https://gitee.com/propertygame/cocos-creator3.x- ...

  9. C++小游戏笔记——射击小行星(附源码)

    C++小游戏笔记--射击小行星(附源码) 游戏展示图 一.飞船 1.飞船的绘制 2.飞船的角度 二.小行星 1.小行星的绘制 2."凹凸不平"效果的形成 3.小行星的分裂 三.子弹 ...

  10. FC小游戏合集网页版HTML源码

    FC小游戏合集网页版HTML源码,上传到服务器即可访问,包含游戏文件在里面,操作键网页上有列出. 源码下载:FC小游戏合集网页版HTML源码-小程序文档类资源-CSDN下载

最新文章

  1. c语言链表找姓,急啊!!!求救了 C语言编一个链表,输出姓名和学号就好
  2. Git使用教程之本地仓库的基本操作
  3. 不间断电源ups标准_什么是ups不间断电源,ups电源的重要性。
  4. Luogu P5652 基础博弈练习题 (博弈论、图论)
  5. pythonencode_python的encode和decode误读总结
  6. IntelliJ IDEA添加jar包
  7. 论文阅读:FaceBoxes: ACPUReal-timeFaceDetectorwithHighAccuracy
  8. VB更改任何标题程序源代码
  9. CSS 实现半透明边框效果实战
  10. Blender程序化建模教程【Python】
  11. 微信支付服务商分账-请求单次分账
  12. 鼠标的光标变成了下划线
  13. python人脸识别解锁电脑_Python 实现在 App 端的人脸识别!手机解锁人脸识别!
  14. 华能集团牵手阿里云 打造“互联物+”阳光采购样板工程
  15. 400G如何引领下一代数据中心网络?
  16. python扫雷总结与体会_心得体会 扫雷拓展心得
  17. java学习之JDO
  18. 大学生静态HTML网页设计--公司官网首页
  19. 电容在电路中各种作用的基本常识
  20. 第一次 之 挑灯夜战

热门文章

  1. Java加密套件强度限制引起的SSL handshake_failure
  2. NLP关键词提取方法总结及实现
  3. 【MySQL】MySQL安装图解
  4. jenkins 命令执行 (CVE-2018-1000861)复现
  5. (statistic)你所不知道的P值--对统计学的批判
  6. 怎么用计算机算e的次方,如何在计算器上计算e的x次方?
  7. 电脑连不上网络,报红叉,网络适配器报黄色警告,错误代码56,解决办法
  8. 江苏高考时间2021成绩查询,小高考时间2021具体时间江苏-江苏小高考成绩查询公布时间及网站...
  9. CPP使用命令行解压7z文件
  10. hdu-5745 La Vie en rose bitset