拧螺丝游戏的关卡一般不是自动算法生成,因为不太有规律,图形太多,硬是要写代码来生成,可能不如手动。这个游戏之前讲过主要是用物理引擎来实现,可以看看之前的文章《关不住我吧》这种物理游戏的关键技术和源码解析。这篇文章拖得有点久了
(更多…)作者: 入门游戏开发
-
《完蛋了!我被美女包围了!》游戏开发揭秘
最近《完蛋了!我被美女包围了!》游戏大热,这可能会是一个转折点,加上近期短剧本身也成为一种掘金热潮,后续真人互动视频类游戏可能会成为趋势,那么以Cocos Creator和小游戏为例,来看看这种游戏实现的难易程度。
(更多…) -
踩坑微信开放标签wx-open-launch-app
微信开放标签拉不起App了, 百思不得其解。可是之前开发的另外一个页面可以。
(更多…)
因为线上环境才能验证,所以也没没法看日志。点击开放标签就一直没反应,不能拉起App。但刷新下就可以拉起App。定位很久才发现,微信分享地址和真正打开的地址是不一样的。 -
Cookie 能跨域读写吗?
一直对跨域共享cookie有个误区,以为只要满足了某些条件,就能让A域名的页面读取到B域名的cookie,经过一番研究,发现根本是不可能的,因为cookie遵循严格的同源策略,不管什么条件,都不能共享。
-
如何基于vant进行二次开发
为什么要二次开发
最重要的一个问题还是效率问题,团队需要整体的UI风格,相同的配色,相同的功能组件,如果每个人独自开发那就大大浪费人力。虽然vant已经封装的不错了,但距离业务需求还差一点距离。第二点是设计师视觉走查的时候特别耗时,扣像素级别的问题,因此避免前端开发同学多次被折磨,做成统一的完事儿,同时也提升了走查的效率。归根结底,效率是第一生产力!
-
iPhone手机播放audio音频的一些问题
预加载和自动播放问题
本以为预加载是一件理所应当的事情,有的音频文件这么大,不可能要等到用户点击播放按钮的时候才去加载,这肯定会存在延时问题。
Note: The preload attribute is supported in Safari 5.0 and later. Safari on iOS never preloads.
苹果官方技术文档解释:只有等到用户真正的点击页面才会去加载资源文件。用户触摸之前永远不会加载音乐文件或元数据。这是为了确保网页不会要求在移动设备上下载大量音乐或数据,这可能会占用大量移动数据。因此,无论您的代码有什么,预加载标签在移动 Safari 中基本上总是设置为“无”。
所以这里唯一的解法就是在交互上做一点处理,毕竟用户的网速不可控,在音频可播放之前显示loading状态,一直等到可播放为止。 那有什么事件说明可以播放了呢?一顿搜索,canplaythrough事件可以满足!
当终端可以播放媒体文件时触发该canplaythrough事件,估计加载足够的数据来播放媒体直到其结束,而不必停止以进一步缓冲内容。 caniuse 一查,主流大部分系统版本都支持。
当用户点击按钮后,发现还不能播放,那就loading等,一直等。如果播放播到一会儿网络卡了那么就在waiting事件监听。
神奇的currentTime
iphone手机下,如果在不恰当的时机设置currentTime(播放会跳跃到指定的位置),会导致后续设置currentTime无效。一定要在onCanPlay回调事件后设置currentTime才不会导致问题。
audio总时长
插播一个Android手机的问题,乐视手机出的一个bug
获取不到音频的总时长,以下方法没有一个能获取到
@canplay="onCanPlay" @timeupdate="onTimeUpdate" @loadedmetadata="onLoadedMetaData" @ended="onEnded" @loadstart="loadstart" @durationchange="durationchange" @canplaythrough="canplaythrough" @loadeddata="loadeddata"
在用户没有主动点击播放按钮前,无论怎么样都拿不到,即使是setInterval 也不行。所以只能是在play后再显示总时长。audio的duration属性就是总时长,但产品功能上略有瑕疵,默认状态下显示不了总时长。
-
【Cocos Creator】游戏中如何动态创建精灵?
如果你刚接触cocos creator,可能有点摸不着头脑,尤其是对cocos 的api文档非常迷,个人觉得官方应该针对api在下方补充一些示例代码说明,不然新手容易懵逼。
本期要讲的话题是如何动态创建精灵。开发游戏可能一半的时间花在跟IDE打交道,如果对IDE有一定了解的话,cocos中节点是游戏中最基本的组成元素,那么基于这节点我们基本上可以实现所有的功能。但我建议能够用IDE拖拽出来的,就千万别用JavaScript徒手写出来,不然场面会很难看。
(更多…) -
小游戏中3种常用的动画
动画是游戏中最基础的部分,所以要掌握游戏开发必须要清楚动画的一些基本常识。今天来介绍下常见的三种动画。
属性动画
大部分人对动画的印象就是位移,角色以一定的速度运动就完成了一个简单的动画效果。如下图所示
每一帧将星球的Y坐标增加10个像素,这样星球就会一直向屏幕上方移动。同理,如果是改变X坐标,那么就会往屏幕左右方向移动。不仅能改变位置还能改变大小、透明度、旋转角度,这都是基于改变角色自身的属性。
(更多…) -
微信小游戏开发的基础知识
下图是Laya官方的一张介绍图片,游戏引擎涵盖的东西比较多,掌握游戏开发必须要掌握这些东西,这次讲讲一些游戏中的基本概念。
一、游戏引擎
市面上的H5游戏引擎好多,国内外比较知名的有Egret、Cocos、Laya、Phaser、Three.js等等,各引擎实现上有区别,但游戏里面的一些基本概念都差不多。触类旁通,切换引擎的成本就只在于对引擎API的熟悉。
(更多…)