# jump-gammer
![npm](https://img.shields.io/badge/npm-v6.13.1-blue)
![typescript](https://img.shields.io/badge/typescript-v3.4.3-blue)
![vue-cli](https://img.shields.io/badge/vue--cli-v3.11.0-blue)
![node](https://img.shields.io/badge/node-v10.0.0-blue)
![PixiJS](https://img.shields.io/badge/PixiJS-v5.0.0-green)
这很简单,先这样再这样(= = 哈哈哈,做的时候就各种红了)。这个项目是我上一年参加虎牙小程序比赛,留下的(不知道现在虎牙小程序凉凉了没)。
那时候遇到了各种部署上去的问题,通宵了两晚修改pixi和pixi-spine的源码,遗憾的是错过了比赛提交的时间节点。所以这就是,
那个stone(人物踩在上方的,落脚物)为什么是HuyaLogo的原因。
所以把这个项目拉出来,修改成web页面,http升级成websocket,做个基本游戏的示范教程吧。
[项目示例](https://website.heartide.com/toy?from=singlemessage),欢迎提issues。
## 预览图
![img](https://res.psy-1.com/FiAOzARZUwWuN7F2TAbO9_5S3K3V)
![img](https://res.psy-1.com/Ft76gwt3zotcYtC5Dfl3UmW3l7Fq)
![img](https://res.psy-1.com/FigPdtJYbtwOUDP4oe9JGyT--dB3)
## Demo Getting Started
```shell script
# npm i
# npm run serve
```
git clone 服务器[url](https://github.com/Kingbultsea/hserve-rabit)
```shell script
# 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测试。
* 微信分享,微信获取名称,自己手写吧。
## 教程
### 游戏需求
游戏需要四位玩家,每位玩家只能控制三个位置,所移动到的位置如果有且仅有一位玩家到达,那么获得该位置得得分,否制大家都获得不了分数。
游戏房主在创建房间的时候,如果退出房间,该房间解散,玩家们需要重新选择房间或创建房间。
![img](https://res.psy-1.com/FlkPBGh47Y3hW10bN1T3IHNLTbQk)状态考虑的东西就有点多了。
### 工具配置
### Sprite
Sprite是啥?可以当作一个图片的对象(texture纹理)。
生成一个sprite
```typescript
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,比如我们碰撞的时候需要眩晕效果,跳跃的时候需要尘埃效果,这个时候就可以使用播放序列帧的方法,达到动画的效果。
```typescript
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距离
#### 人物碰撞(性能优化,条件性判断碰撞)
#### 碰撞相关特效展示
### 游戏进入流程图
### 游戏规则
### 服务器逻辑状态处理
没有合适的资源?快使用搜索试试~ 我知道了~
jump-gammer:pixi-spine pixi2d小游戏跳一跳源码pixi教程,基于pixi-spine的2d游戏,正在...
共113个文件
png:50个
js:15个
ts:11个
2 下载量 119 浏览量
2021-03-23
01:23:01
上传
评论
收藏 3.7MB ZIP 举报
温馨提示
跳游戏 这很简单,先这样再这样(= =哈哈哈,做的时候就各种红了)。这个项目是我上一年参加虎牙小程序比赛,留下的(不知道现在虎牙小程序凉凉了没)。那时候遇到了各种部署上去的问题,通宵了两晚修改pixi和pixi-spine的源码,遗憾的是错过了比赛提交的时间清单。所以这就是,那个stone(人物踩在上方的,落脚物)为什么是HuyaLogo的原因。 所以把这个项目拉出来,修改成网页,http升级成websocket,做个基本游戏的示范教程吧。 ,欢迎提问题。 预览图 演示入门 # npm i # npm run serve git clone服务器 # npm i # tsnd --respawn ./src/serve-1.0.1.ts 完成,哪里报错改哪里(某些服务器url,需要直接修改下)。 工具 mvc或者mvvm框架,自己喜欢就行,用自己熟悉的。 PixiJS是一个超快的2D渲
资源详情
资源评论
资源推荐
收起资源包目录
jump-gammer:pixi-spine pixi2d小游戏跳一跳源码pixi教程,基于pixi-spine的2d游戏,正在编写教程 (113个子文件)
211201.atlas 5KB
206301.atlas 5KB
204301.atlas 5KB
201201.atlas 4KB
.browserslistrc 30B
.env.experiment 49B
.gitattributes 35B
.gitignore 287B
index.html 1003B
favicon.ico 4KB
WechatIMG2007.jpeg 28KB
userAvatar.jpeg 28KB
bg.jpg 207KB
bg.jpg 207KB
timg.jpg 42KB
userAvatar.jpg 24KB
pixiChram.js 23KB
dust.js 7KB
shareAndGetName.js 6KB
cdn.js 3KB
globals.js 3KB
customExecute.js 1KB
homepage.js 1KB
test-with-pageobjects.js 1KB
elementCount.js 1KB
openHomepage.js 778B
openHomepageClass.js 717B
test.js 513B
vue.config.js 478B
jest.config.js 88B
babel.config.js 73B
package-lock.json 625KB
206301.json 72KB
211201.json 60KB
201201.json 59KB
204301.json 58KB
tp.json 2KB
package.json 1KB
Rtp.json 1KB
tsconfig.json 759B
tslint.json 458B
README.md 5KB
tp.png 386KB
206301.png 182KB
22_1.png 162KB
211201.png 155KB
204301.png 152KB
stone.png 110KB
Rtp.png 89KB
206301-avatar.png 80KB
211201-avatar.png 77KB
204301-avatar.png 70KB
201201.png 60KB
201201-avatar.png 56KB
mailCell.png 55KB
mailCell.png 55KB
specialResultFrame.png 33KB
bar.png 15KB
bar.png 15KB
bar.png 15KB
icon.png 14KB
huyalogo.png 14KB
rankingBG.png 10KB
connectArdyBack.png 9KB
connectArdyFront.png 9KB
ParamaCell.png 9KB
animationDecoration.png 7KB
logo.png 7KB
iconOthersUsePolicy.png 5KB
userFrame4.png 5KB
cloud.png 5KB
itemIconFrame10.png 5KB
button.png 5KB
button.png 5KB
userFrame3.png 5KB
itemIconFrame7.png 4KB
itemIconFrame9.png 4KB
itemIconFrame8.png 4KB
userFrame1.png 4KB
userFrame2.png 4KB
buttonBuyStone6.png 4KB
buttonBuyStone6.png 4KB
201201.atlas.png 4KB
bar-inner.png 3KB
bar-inner.png 3KB
bar-inner.png 3KB
1.png 3KB
iconX.png 3KB
2.png 3KB
3.png 3KB
itemIconFrame0.png 3KB
star.png 1KB
style.scss 2KB
game.scss 2KB
atlas.ts 18KB
common.ts 6KB
action.ts 4KB
game.d.ts 1KB
index.ts 702B
main.ts 396B
共 113 条
- 1
- 2
盗心魔幻
- 粉丝: 15
- 资源: 4478
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Qt开发知识、经验总结 包括Qss,数据库,Excel,Model/View等
- IV数据.xlsx
- 一些深度学习中的小例子,适合新手学习使用
- foldcraftlauncher_262944.apk
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0