H5如何制作网络游戏游戏制作

Phaser制作h5小游戏(二) - 简书
Phaser制作h5小游戏(二)
此篇主要总结一下小游戏中的知识点。
预加载素材
//预加载sprite素材
game.load.atlas('button','images/button.png', 'images/button.json')
this.load.spritesheet('loading','images/loading.png', 154, 155, 25) //每帧的长,宽和帧数
//预加载图片
game.load.image('bg',
'images/bg.png')
//预加载字体
game.load.bitmapFont('font', 'images/font.png', url + 'images/font.xml')
//创建sprite对象
var button = game.add.sprite(0, 0, 'button',"button.png")
button.anchor.set(0.5, 0.5); //(0,0)锚点在左上角,(1,1)锚点在右下角
button.scale.set(1)
button.alpha = 1
//创建text对象
var style = {font: "36px PingFangSC-Semibold", fill: "#FFDF00", align: "center"};
var text1 = game.add.text(game.width / 2, game.height / 2 , '中国', style)
text1.anchor.set(0.5)
text1.resolution = 3; //设置分辨率
//创建image对象
var mask1 = game.add.image(0, 0, 'button',"button.png")
//创建button对象
var charge = game.add.button(0,0, 'button', function(){}, that, 'button.png', 'button.png')
//创建group对象
var group = game.add.group()
group.addChildAt(button,0) //将对象加进group中,就可以进行整体操作
group.addChildAt(charge,1)
var button = group.getChildAt(0) //取出group中的元素
//创建动画
game.add.tween(button).to({
}, 80, Phaser.Easing.Linear.None, true).onCompvare.add(function() {})
//创建bitmapData (遮罩层)
var bottom = game.make.bitmapData(game.width, 120);
//渐变:x:0-&0,y:0-&120 (x1,y1,x2,y2)
var grd = bottom.context.createLinearGradient(0, 0, 0, 120);
grd.addColorStop(0, '#955B34');
grd.addColorStop(1, '#4D2412');
bottom.context.fillStyle =
bottom.context.fillRect(0, 0, game.height, 120);
var footer = game.add.sprite(0, game.height, bottom);
footer.anchor.set(0, 1)
//创建bitmapText
game.load.bitmapFont('font', 'images/font.png', url + 'images/font.xml')
var text = game.add.bitmapText(0,0, 'font', '1000', 32)
//创建时间
var timerLoop = game.time.create(false);
timerLoop.loop(1000, function() {
time = time - 1
if (time == 0) {
timerLoop.stop();
timerLoop.start();
对象池:游戏主要特点就是占用内存大, 一是与游戏的素材大小有关,二是与创建的对象数量有关。所以,控制游戏的内存主要任务是控制游戏对象的数量。通过创建对象池控制对象数量。
图片占用内存的计算公式:图片高度 * 图片宽度 * 一个像素占用的内存大小
如:图片占用内存是 800 * 600 * 4 byte = 1875KB = 1.83M
//查看对象池中是否有存在的对象,若没有,则创建新的筹码,否则,重复利用原来已创建的对象,减轻内存消耗,一个对象被kill掉就可以被重复利用。
var coin = myPayCoinGroup.getFirstExists(false)
if (coin == null) {
//创建新的游戏对象
//重用之前的对象,修改对象的相关属性值
动态加载网络请求的图片
//制作圆形头像
var makeHeader = function(that, source, width){
var w = width
//制作蒙版
var circle = game.make.bitmapData(w, w)
circle.circle(w / 2, w / 2, w / 2, "#CCCCCC")
var image = game.make.image(0, 0, source)
image.width = w
image.height = w
var bmd = game.make.bitmapData(w, w)
// 合并蒙版和图像成为mask 的bitmapData,再加入游戏中,这里成为某个精灵的子元素
bmd.alphaMask(image, circle)
//设置我的头像用户名
var setMyInfo = function(that, data) {
var file = {
type: 'image',
key: data.id.toString(),
url: data.avatar,
data: null,
error: false,
loaded: false
file.data = new Image()
file.data.name = file.key
//加载图片资源
file.data.src = file.url
file.data.onload = function () {
//如果内存中不存在该key值的图片,就加入到内存中,方便以后引用
if (!game.cache.checkImageKey(file.key)) {
game.cache.addImage(file.key, file.url, file.data)
var texture = makeHeader(that, file.key, 86, true)
// 一定要在这个序号上找出对象来替换图片
myInfoGroup.getChildAt(0).loadTexture(texture)
//头像加载失败,加载默认图片
file.data.onerror = function () {
console.log("image loaded error")
myInfoGroup.getChildAt(0).loadTexture(defaultAvatar)
5.制作圆角radius
var button = this.game.add.graphics(100, 100);
button.beginFill(0xAAAAAA, 1);
button.drawRoundedRect(0, 0, 50, 50, 10);
给文字设置可点击
var style3 = {font: "28px PingFangSC-Semibold", fill: "#f5bb10", align: "center"};
var rule = game.add.text(0,0 '规则', style3)
rule.anchor.set(1, 0)
rule.inputEnabled = true
rule.events.onInputDown.add(showRule, this)
rule.resolution = 3;
游戏对象层级
游戏中根据创建游戏对象的先后顺序来确定对象的层级关系,也就是css中讲的“z-index”,越往后创建的对象,它的层级就越大,即越靠近表层,在其他层之上。
//重复利用云
var resetSprite = function(sprite){
var {game} = this
sprite.x = game.world.bounds.
sprite.frameName = 'cloud' + game.rnd.between(1, 3) + '.png'
sprite.body.velocity.x = game.rnd.between(-8, -30);
for (var i = 0; i & 4; i++) {
var s = game.add.sprite(game.world.randomX, game.rnd.between(80, 300), 'cloud', 'cloud' +
game.rnd.between(1, 3) + '.png');
//开启物理引擎
game.physics.arcade.enable(s);
//设置物理移动的速度
s.body.velocity.x = game.rnd.between(-8, -30);
//设置检查是否超出边界
s.checkWorldBounds =
//超出边界则重置云的属性
s.events.onOutOfBounds.add(resetSprite, this);
game.load.spritesheet('loading', 'images/loading.png', 154, 155, 25)
//预加载对象是spritesheet才执行该动画
var bean = game.add.sprite(0,0, 'loadingBean')
bean.animations.add('loading-bean', [0, 1], 6, true);
bean.animations.play('loading-bean')
去除上一个场景中的元素,减少占用内存
if (game.cache.checkImageKey("loading")) {
game.cache.removeImage("loading")
制作精灵sprite图
制作BitmapText data 文件工具(需要ttf后缀的字体文件,最后输出png和fnt/xml文件)
(推荐这个)扫一扫,随时随地挑选人才和公司
全球知识工作者一站式工作平台
微信公众号
随时掌握一手资讯
需求发布后1小时内收到服务商响应每个需求平均有10个服务商参与95%以上的需求得到了圆满解决所有需求不向雇主收取任何佣金网站抢先做,开年省心用好站
质量:4.91
速度:4.94
态度:4.94
近三月收入:91000元 10 笔
尚游互动提供专业的h5游戏开发
尚游互动提供专业的h5游戏开发
尚游互动提供专业的h5游戏开发
尚游互动提供专业的h5游戏开发
尚游互动提供专业h5游戏制作
尚游互动专业制作h5游戏
尚游互动提供专业的微信游戏开发,h5游戏开发,html5开发等服务
尚游互动提供专业的微信游戏开发,h5游戏开发,html5开发等服务
H5游戏开发,h5游戏定制,微信游戏制作,微信小游戏,小程序
&5000.00/个
手机扫码下单,便捷优惠
数量件
游戏内容分类:益智游戏 动作游戏 冒险游戏
地区:北京 上海 广州 深圳 重庆
开发方式:原生开发
二次开发:是
服务内容1,模板游戏修改,HTML5游戏制作,HTML5游戏开发当前主流游戏框架修改,如各种节日促销活动等等2,游戏与微信对接,制作排行榜或者有奖活动可支持微信支付,微信卡券等对接,以及其他各种借口如地图类查讯类等等该价格为基础价格,根据客户需求不同,价格会有所变动制作周期小项目:5-10个工作日中大项目:15-30个工作日服务流程:1,客户提供功能说明文档,详细介绍需要制作的内容或者修改内容2,我方根据客户提供说明文档,给出报价,一般一个工作日内给予答复3,双方确定合作意向4,买家通过八戒网托管全额赏金5,我方开始工作,大约5-30个工作日完成6,客户验收,完成付款售后说明:1,双方合作前需签订八戒网提供的网络协议书,并认真遵守其中的规定,由此造成的责任由违反的一方承担2,游戏制作完成后,由我方提供临时网址测试,得到确认后,我方提供源文件3,本次交易完成后7个工作日内,如果出现由于我方制作造成的问题,我方给予修改,其他后期功能修改,我方收取一定费用后为买方提供技术修改
服务宝,全程保障交易安全
验收合格后,再付款给服务商
所有服务商,100%实名认证
交易出问题,可获保证金赔付
承诺不向雇主收取任何费用
担保交易,交易全程护航
交易遇到以上问题&&雇主可获保证金赔付
内容声明:
猪八戒网为第三方交易平台及互联网信息服务提供者,猪八戒网(含网站、客户端等)所展示的商品/服务的标题、价格、详情等信息内容系由店铺经营者发布,其真实性、准确性和合法性均由店铺经营者负责。猪八戒网提醒用户购买商品/服务前注意谨慎核实。如用户对商品/服务的标题、价格、详情等任何信息有任何疑问的,请在购买前店铺经营者沟通确认;猪八戒存在海量店铺,如用户发现店铺内有任何违法/侵权信息,请立即向猪八戒网举报并提供有效线索。
&&诚信度:
本店其他官方套餐
正在加载类似服务...
本店其它服务
正在加载类似服务...
其他联系方式
技术客服:行  业:
营销节日:
玩  法:显呗,DIY游戏显摆自己|H5互动营销平台|世界杯足球游戏|多屏互动游戏|免费H5游戏制作平台|微信游戏开发|微信小游戏定制|H5手游|小游戏大全|吸粉神器|代理加盟
手机扫一扫,马上试玩
手机扫一扫,马上试玩
热点游戏模版
支付宝 安全支付保障 官方微信带你穿越时空,重返幻境
狗熊爱上小兔子
精选小游戏
啪啪动物城六一礼包
时光幻境新手礼包
御剑江湖天帝礼包
唐门六道寒假礼包激情版
唐门六道经典版春节礼包
唐门六道激情版春节礼包
三生诀新手礼包
啪啪动物城新手礼包
飘飘欲仙新手礼包
关注4399H5游戏微信公众号
更多手机在线游戏,还有礼包
扫一扫,加关注领取微信大礼包}

我要回帖

更多关于 网络游戏制作 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信