PhaserJs实现营销小游戏

(一)PhaserJS 简介

PhaserJs是一款专门用于桌面及移动HTML 2D游戏开发的开源免费框架,提供JavaScript和TypeScript双重支持,内置游戏对象的物理属性,采用Pixi.js引擎以加快Canvas和WebGL渲染,基于浏览器支持可自由切换。完全支持Web音频,支持多点触控、键盘、鼠标及MSPointer事件。快速、免费、易于维护,使用Phaser来开发2D小游戏的优势显而易见。

PhaserJs实现营销小游戏_第1张图片

(二)营销游戏介绍

游戏概括:长按购物车,左右拖动接住从天而降的产品,手越快,得分越高,赢取礼包机会越大

针对12 • 8唯品会周年庆,运营公众号推出一个营销页面,来引导促进平台用户消费。这种h5营销是很多公众号运营人员选择的营销方式。怎样引导促进平台用户,不仅考验方案策划者的idea及设计人员设计吸引眼球的作品,也是考验作为前端开发的我们,如何高效还原设计作品,提高整个页面的性能。特别是对于游戏、动画,性能体验至关重要。

(三)游戏部分截图

PhaserJs实现营销小游戏_第2张图片
PhaserJs实现营销小游戏_第3张图片


PhaserJs实现营销小游戏_第4张图片

(四)关键代码

1,实例化game对象

Phaser.Game

Phaser.Game函数参数解释:

Phaser.Game(width, height, renderer, parent, state, transparent, antialias, physicsConfig)

width:游戏宽度,即渲染游戏Canvas画布的宽度;

height:游戏高度,即渲染游戏Canvas画布的高度;

renderer:渲染游戏方式,Phaser.CANVAS 为使用html5画布,Phaser.WEBGL 为使用性能更加好的WebGL来渲染,Phaser.AUTO为自动侦测,如果浏览器支持WebGL则使用WebGL,否则使用Canvas;

parent:放置canvas的父元素,既可以为元素id,也可以为dom本身;

state:即游戏用到的各种场景,可以为js对象,也可以是函数,只要包含preload、create、update这其中的任何一个;

transparent:是否使用透明的Canvas背景;

antialias:抗锯齿,默认为true;

physicsConfig:游戏物理系统配置参数

2,创建各种场景,即state

备注:WI = window.innerWidth;HI = window.innerHeight; rateX = WI /750; rateY = HI/1218(适配手机)

preload:用来加载资源,是最先会被执行的

PhaserJs实现营销小游戏_第5张图片
preload

create:初始化以及构建场景,等到preload执行完毕才会被执行

PhaserJs实现营销小游戏_第6张图片
create

update:更新函数,会在游戏的每一帧都来执行,以此来创造一个动态的游戏

PhaserJs实现营销小游戏_第7张图片
update

(五)遗留问题

因项目时间紧张,没有很深入研究过PhaserJs,所以在最后发布生产,存在遗留问题。

整个Canvas画布,图片显示模糊,即使已经设置抗锯齿:antialias:true,但仍图片不清晰。

如有知道解决方法的朋友,欢迎交流。

你可能感兴趣的:(PhaserJs实现营销小游戏)