你好,微信红包土豪群(真实)页面的小游戏能破解改动吗,微信红包土豪群(真实)赌博页面游戏

微信小游戏与APP手游:体验差异大,直接竞争小
稿源:用户投稿
2017年的尾声,冯小刚以一部《芳华》一边致敬自己已经逝去的青春,一边看着票房上涨,再次证明了怀旧是永远能引起共鸣的主题。同样,赶在新的一年到来前,微信在启动页面上也玩起了怀旧的“套路”,以童年记忆中的跳房子、井盖、魔方、卷纸等元素为基础推出了小游戏。伴随着这款名为“跳一跳”的小游戏上线,备受业内猜测与关注的微信小程序游戏终于正式亮相了。同时,微信官方还向所有开发者提供了开发文档,开发者可在不登录帐号的情况下直接下载并使用开发工具,先行尝试开发小游戏。相信很多H5游戏开发者已经看到了小游戏带来的流量和技术上的支持,以及由此迎来的春天。&揭开面纱的小游戏在微信小游戏公开亮相前,业界关于腾讯开放新的游戏入口之事一直有诸多猜测,关于小程序开放游戏入口的讨论也越来越多。随着此次微信小游戏的上线,之前的种种猜测也终于有了明确的结果,微信小游戏揭开了神秘的面纱。据了解,首批上线的17款小游戏是腾讯自研或代理的。《跳一跳》、《欢乐斗地主》、《欢乐坦克大战》等小游戏无需下载,即点即玩,点击进入后可以看到微信好友排行,随时都可与好友互动、对战,正好可以填补聊天等回复的碎片时间。&已经上线的小游戏在类型上多以社交性的轻度休闲游戏为主,轻便的形态易于分享,可玩度高,社交性更强。可以看出,微信在此时推出小游戏符合其一贯以来“小步跑”的做法,是想以满足用户娱乐需求来进一步增强用户粘性。虽然同是移动互联网游戏产品,但目前的小游戏相比于APP手游还是有一定差别。以《欢乐斗地主》小游戏和类似的斗地主APP手游相比,除了《欢乐斗地主》小游戏无需下载大容量安装包,不占内存,可直接在微信内分享给好友一起玩之外,在玩法上,《欢乐斗地主》之类的小游戏门槛较低,几乎人人可玩,一局游戏在3分钟左右;而APP游戏在画面切换和操作上有更高要求,一局游戏通常15分钟左右,因此小游戏可能更多的是消磨时间,随时拿出手机都能玩上一局;而玩APP游戏则更是为了体验游戏的快感,以及追求更高的等级。&从以上对比可看出,小游戏之于APP手游,就类似页游之于PC端游,相对轻质的小游戏,即是一种轻松的休闲模式,也被看作是基于常规社交模式的一种延伸,而相对重度的APP手游,则是以富有挑战性的玩法、沉浸式参与感等方式带来极致体验和深度娱乐。二者带来的用户体验差异不小,在整个游戏产业中分别扮演着不同的角色,互为替换以及直接竞争的关系很少。从体量、玩法、形态以及用户体验等方面来看,小游戏对手游市场的影响如何?综上来看,有差异、可共存。随着小游戏的发展,二者也不可避免将会有更多融合的可能性。兼容H5游戏 &游戏开发者春天来临根据微信官方所说,微信小游戏是微信小程序的一个重要类别。虽然微信官方尚未公布小程序对开发者开放的具体时间,但微信已经向开发者提供了开发文档,且无需登录,方便开发者先行开发“试炼”,相信开放时间应该指日可待。这也说明,游戏开发商们终于有机会乘着小程序的东风接触到微信的巨额流量,H5游戏开发者的春天来了。&首先,H5游戏被小游戏兼容。因易开发、易推广等优势被投资方和开发者期待已久,但一直没有明确的行业规范,H5游戏市场上产品鱼龙混杂。现在,H5游戏可以说被微信官方正式接纳。其次,今年以来,小程序各项能力的开放,为小游戏打磨能力做好了充分的准备,也扫清了很多开发上的障碍。小程序自上线以来,与交通、外卖、门店等多个领域结合,诞生了如腾讯乘车码、星巴克用星说等众多爆款产品,许多自媒体还借助小程序实现了流量变现。面向游戏开发者开放后,小程序的应用形态也将为H5游戏带来更多的开拓机会,或许随后会迎来一波爆发。&游戏品质和流量一直是决定一款游戏生死存亡的关键因素,H5游戏亦然,这两点在此前一直受制于H5游戏的开发团队和推广渠道。如今,小游戏的游戏引擎和技术规范可以解决用户体验和游戏品质的问题。再者,在H5游戏开发者眼里,微信意味着大量优质的流量/用户,是他们传播平台的首选。随着微信对小游戏开放了入口(微信的“发现”-“游戏”入口可以直接访问),H5游戏将有机会直接触达近十亿微信用户,实现社交传播。而小游戏背靠微信平台也让H5游戏的社交属性进一步加强,弥补了H5游戏最为致命的用户粘度低、二次访问难的问题,改变H5游戏长久以来的“短命”。根据已上线的《欢乐斗地主》、《跳一跳》、《欢乐坦克大战》等小游戏来看,都具有很强的社交属性,适合与好友互动,且轻便的形态也很容易分享。这也表明,社交性和互动性是微信推出一款小游戏必然要考虑的因素。这与以前的传播模式比,流量成本将大大降低,也有了更多的“病毒式”传播机会,至于变现,也值得期待。便于传播&APP手游的引流入口在上线的小游戏中,已经看到小游戏与APP手游有了轻度的结合。其中,《欢乐斗地主》小游戏中,需要消耗欢乐豆来参与匹配玩法。但小游戏中尚不能直接购买这些游戏道具,游戏中提示用户至APP购买并引导用户下载使用APP。这一动作很好地为APP手游实现导流。&当然,小游戏带来的红利不止针对轻量游戏,重度游戏开发者也可以尽情分享。无论是PC端还是移动端,大型游戏都可借助小游戏轻便易传播的特点实现引流和扩散。在小游戏上线前,就有玩家注意到,《王者荣耀》分享到微信里的某些链接变成了小程序。例如,在多人排位赛中邀请好友一起开黑时,分享到微信对话里的小程序能让好友在不登录游戏的情况下就能看到排位赛的相关信息,好友同意一起开黑后,不必切换页面,可以直接从小程序里跳转到APP内开始游戏。同时,《王者荣耀》还在微信群里玩起了“花样”。“王者荣耀群排行”小程序分享到群里后,用户可以看到群内好友的段位排行,甚至,小程序还专门推出了“群任务”,引导用户回到APP,完成相应任务即可获得奖励。借助小程序,《王者荣耀》与微信的社交场景的紧密融合进一步增加了用户活跃度。微信通过《王者荣耀》小程序给重度游戏厂商提供了一条可供借鉴的道路,而小游戏的上线也让这样的推广方式变得更为简单。&此前,应用商店、信息流广告和游戏平台一直是端游和手游的主要推广渠道,也有一些游戏厂商开始尝试以H5游戏来推广APP手游。随着小游戏的开放,重度游戏可直接通过小游戏在微信内实现传播和互动,将用户导流到APP或PC端。这不仅可以降低游戏的流量成本,还帮助重度游戏增加了用户粘度。因此,重度游戏厂商也已看到小游戏带来的红利,未来,兼容包并的小游戏一定会成为游戏公司推广手游及端游的另一个渠道。曾有业内人士在小程序上线时就表示,如果小程序对游戏开放,将成为游戏新的增长爆点,这里的空间值得想象。现在,产品形态已有了初步的范本。对于整个游戏产业链来说,新的蛋糕即将出炉,新一轮的爆发应该不远了。
本文由站长之家用户投稿,未经站长之家同意,严禁转载。如广大用户朋友,发现稿件存在不实报道,欢迎读者反馈、纠正、举报问题()。
免责声明:本文为用户投稿的文章,站长之家发布此文仅为传递信息,不代表站长之家赞同其观点,不对对内容真实性负责,仅供用户参考之用,不构成任何投资、使用等行为的建议。请读者使用之前核实真实性,以及可能存在的风险,任何后果均由读者自行承担。如有发现
有好的文章希望站长之家帮助分享推广,猛戳这里
本网页浏览已超过3分钟,点击关闭或灰色背景,即可回到网页16.8k 次阅读
本文旨在通过分析官方给出的一个飞机大战小游戏的源代码来说明如何进行小游戏的开发。
前天一个跳一跳小游戏刷遍了朋友圈,也代表了微信小程序拥有了搭载游戏的功能(早该往这方面发展了,这才是应该有的形态嘛)。作为一个前端er,我的大刀早已经饥渴难耐了,赶紧去下一波最新的微信官方开发工具,体验一波小游戏要如何开发。
我们欣喜地看到可以直接点击小游戏体验一下,而且官方也有一个示例源代码,是一个简易版的飞机大战的源码,直接点开模拟器就可以看效果。
2.源码分析
(还是原汁原味的打飞机游戏呀!)通过阅读这个源代码我们便可以知道如何进行小游戏的开发了。废话少说直接进入主题,先来分析一波源码的整体结构。
音频文件目录
图片文件目录
主要源代码目录
游戏主入口
游戏的配置文件
下面是官方示例中的js文件具体的作用
├── base
// 定义游戏开发基础类
├── animatoin.js
// 帧动画的简易实现
├── pool.js
// 对象池的简易实现
└── sprite.js
// 游戏基本元素精灵类
├── libs
├── symbol.js
// ES6 Symbol简易兼容
└── weapp-adapter.js
// 小游戏适配器
├── npc
└── enemy.js
├── player
├── bullet.js
└── index.js
├── runtime
├── background.js
├── gameinfo.js
// 用于展示分数和结算界面
└── music.js
// 全局音效管理器
├── databus.js
// 管控游戏状态
└── main.js
// 游戏入口主函数
官方文档中提到,game.js和game.json是小游戏必须要有的两个文件
下面我会分析我认为主要的文件与结构,不会对每一行代码进行解析,大家有兴趣可以自行阅读官方的源码。每个文件后会跟随我认为重要的几个小点。
import './js/libs/weapp-adapter'
import './js/libs/symbol'
import Main from './js/main'
new Main()
小程序启动会调用game.js,在其中导入了小游戏官方提供的适配器,用于注入canvas以及模拟DOM以及BOM(后续会具体说明这个文件),可以在 下载源代码,修改适合自己的版本并通过webpack打包自用。当然目前已经足够我们使用。
导入symbol的polyfill,主要用于模拟ES6类的私有变量。
导入Main类并实例化Main,于是顺藤摸瓜我们将目光移至Main.js
import Player
from './player/index'
import Enemy
from './npc/enemy'
import BackGround from './runtime/background'
import GameInfo
from './runtime/gameinfo'
import Music
from './runtime/music'
import DataBus
from './databus'
= canvas.getContext('2d')
let databus = new DataBus()
* 游戏主函数
export default class Main {
constructor() {
this.restart()
restart() {
databus.reset()
canvas.removeEventListener(
'touchstart',
this.touchHandler
= new BackGround(ctx)
this.player
= new Player(ctx)
this.gameinfo = new GameInfo()
this.music
= new Music()
window.requestAnimationFrame(
this.loop.bind(this),
* 随着帧数变化的敌机生成逻辑
* 帧数取模定义成生成的频率
enemyGenerate() {
if ( databus.frame % 30 === 0 ) {
let enemy = databus.pool.getItemByClass('enemy', Enemy)
enemy.init(6)
databus.enemys.push(enemy)
// 全局碰撞检测
collisionDetection() {
let that = this
databus.bullets.forEach((bullet) =& {
for ( let i = 0, il = databus.enemys. i &i++ ) {
let enemy = databus.enemys[i]
if ( !enemy.isPlaying && enemy.isCollideWith(bullet) ) {
enemy.playAnimation()
that.music.playExplosion()
bullet.visible = false
databus.score
for ( let i = 0, il = databus.enemys. i &i++ ) {
let enemy = databus.enemys[i]
if ( this.player.isCollideWith(enemy) ) {
databus.gameOver = true
//游戏结束后的触摸事件处理逻辑
touchEventHandler(e) {
e.preventDefault()
let x = e.touches[0].clientX
let y = e.touches[0].clientY
let area = this.gameinfo.btnArea
x &= area.startX
&& x &= area.endX
&& y &= area.startY
&& y &= area.endY
this.restart()
* canvas重绘函数
* 每一帧重新绘制所有的需要展示的元素
render() {
ctx.clearRect(0, 0, canvas.width, canvas.height)
this.bg.render(ctx)
databus.bullets
.concat(databus.enemys)
.forEach((item) =& {
item.drawToCanvas(ctx)
this.player.drawToCanvas(ctx)
databus.animations.forEach((ani) =& {
if ( ani.isPlaying ) {
ani.aniRender(ctx)
this.gameinfo.renderGameScore(ctx, databus.score)
// 游戏逻辑更新主函数
update() {
this.bg.update()
databus.bullets
.concat(databus.enemys)
.forEach((item) =& {
item.update()
this.enemyGenerate()
this.collisionDetection()
// 实现游戏帧循环
databus.frame++
this.update()
this.render()
if ( databus.frame % 20 === 0 ) {
this.player.shoot()
this.music.playShoot()
// 游戏结束停止帧循环
if ( databus.gameOver ) {
this.gameinfo.renderGameOver(ctx, databus.score)
this.touchHandler = this.touchEventHandler.bind(this)
canvas.addEventListener('touchstart', this.touchHandler)
window.requestAnimationFrame(
this.loop.bind(this),
导入了创建游戏需要的我放飞机,敌方飞机,背景,游戏信息,音乐,游戏全局数据类,并获取了canvas的上下文(看到这是不是有一个疑惑,canvas到底是从哪里定义?先带着这个问题最后再说),创建了一个全局数据实例(后面会提到)。
创建Main的实例自然会调用构造方法,在构造方法中调用restart函数,进行了游戏的初始化并进行循环刷帧(requestAnimationFrame看起来是不是很亲切)。
loop函数中我们可以看到主要调用了update, render方法,并设置了player发射子弹的时间,对游戏是否结束进行判断,最后接着刷帧。
update方法会调用各个场景内对象的update方法来更新他们的位置以及其他信息。
render方法会调用各个场景内对象的render方法来将他们绘制到canvas中。
Main内结构清晰,主要理解整个流程就是调用requestAnimationFrame来不停地刷帧更新位置信息推动所有对象运动,每个对象在每一帧都有新的位置,连起来就是动画了。分清位置的更新与对象的绘制是关键。
databus.js
import Pool from './base/pool'
let instance
* 全局状态管理器
export default class DataBus {
constructor() {
if ( instance )
return instance
instance = this
this.pool = new Pool()
this.reset()
this.frame
this.score
this.bullets
this.enemys
this.animations = []
this.gameOver
* 回收敌人,进入对象池
* 此后不进入帧循环
removeEnemey(enemy) {
let temp = this.enemys.shift()
temp.visible = false
this.pool.recover('enemy', enemy)
* 回收子弹,进入对象池
* 此后不进入帧循环
removeBullets(bullet) {
let temp = this.bullets.shift()
temp.visible = false
this.pool.recover('bullet', bullet)
我们可以看出,databus是一个单例对象,不论在其他代码中new多少次,都是返回的同一个实例,符合我们的期望。
reset定义了所需要的数据源并初始化
通过一个对象池的概念,控制当前页面对象的数量,避免使用js原有的垃圾处理机制,而是通过对象池来复用已经创建的对象,算是一个性能优化。
frame属性主要是用来刷帧的时候用来控制子弹的发射与敌机的出现时间。
* 游戏基础的精灵类
export default class Sprite {
constructor(imgSrc = '', width=
0, height = 0, x = 0, y = 0) {
= new Image()
this.img.src = imgSrc
this.width
this.height = height
this.x = x
this.y = y
this.visible = true
* 将精灵图绘制在canvas上
drawToCanvas(ctx) {
if ( !this.visible )
ctx.drawImage(
this.width,
this.height
* 简单的碰撞检测定义:
* 另一个精灵的中心点处于本精灵所在的矩形内即可
* @param{Sprite} sp: Sptite的实例
isCollideWith(sp) {
let spX = sp.x + sp.width / 2
let spY = sp.y + sp.height / 2
if ( !this.visible || !sp.visible )
return false
return !!(
spX &= this.x
&& spX &= this.x + this.width
&& spY &= this.y
&& spY &= this.y + this.height
作为所有场景对象的基类,定义了所有精灵对象基本有的信息(位置,图片,是否可见)
定义了两种能力,检测碰撞与将自己绘制在canvas上
可以看出画图主要是用的canvas里的drawImage方法,也是我们自行开发小游戏以后会用到的方法。包括background,player等类都会继承自精灵类,并且会添加自己的update方法来暴露更新自己位置信息的接口。enermy还会包装一层爆炸动画的封装,思路大同小异,就不在多赘述了。
我们发现小游戏的开发与我们使用canvas进行h5小游戏的开发并没有什么太大的区别,无论从绘图的api还是事件的api都十分相似,还可以用window对象,这主要归功于官方提供的webapp-adapter.js,该js会注入window对象并提供相应的canvas全局变量,也是文章中提到为什么在main.js里找不到canvas变量在哪里定义的原因了。所以我们可以开开心心地使用canvas来开发小游戏了!!!
官方还说了一句,可以不引入webapp-adapter.js来开发小游戏,()这是小游戏的api文档(当时找了很久)适配器的源码写得也很清晰,可以一读来了解一些,其中也有很多官方写的TODO的事情,还并不十分完善,如果想要快速移植已有的h5游戏代码使用适配器是很有效的。如果想直接开发小游戏根据api文档直接来开发也是很有效的方法,毕竟引入一层适配器还是会有一定的开销。
tips: 读一读适配器源码也有利于了解如何开发小程序(例如事件绑定之类的操作)
小程序终于可以来做小游戏了,感觉还是休闲类的游戏会占主导地位,前端大大可以迎接新的战场啦哈哈哈~~~(接下来会去掉适配器用原生api改写官方demo)
5.无适配器版的官方demo
通过之前的源码分析,我们只能找到使用适配器版本的官方Demo,而找不到一个无适配器版本的官方Demo,于是自己动手丰衣足食,将官方Demo的适配器移除,下面介绍需要进行哪些改动。
首先对适配器的源码简单阅读后可以发现,适配器做的事情就是模拟了window对象,然后将window对象按devtool和小程序运行的实际环境暴露给全局对象,供我们来使用(devtool里就是window,实际环境中则是GameGlobal)。那么相应我们就该把所有引用到window的地方都进行修改,因为实际运行环境中并没有这个全局对象。下面我主要说明在源代码中使用到window的地方。
我移除了libs/symbol.js,改为直接使用原生支持的symbol来模拟私有变量,其他文件只需删除对该文件的引入即可。
查找各文件使用的window.innerHeight与window.innerWidth 改为使用 const { screenWidth, screenHeight, devicePixelRatio } = wx.getSystemInfoSync()来获取屏幕宽高与dpr,并在相应地方进行替换。
音频文件处理
主要是runtime/music.js里与小游戏api的转化,主要是将 new Audio()转化为wx.createInnerAudioContext()方法获取实例和currentTime在原生是一个只读属性,要改为seek方法
let instance
export default class Music {
constructor() {
if ( instance )
return instance
instance = this
// this.bgmAudio = new Audio()
this.bgmAudio
= wx.createInnerAudioContext()
this.bgmAudio.loop = true
this.bgmAudio.src
= 'audio/bgm.mp3'
// this.shootAudio
= new Audio()
this.bgmAudio
= wx.createInnerAudioContext()
this.shootAudio.src = 'audio/bullet.mp3'
// this.boomAudio
= new Audio()
this.bgmAudio
= wx.createInnerAudioContext()
this.boomAudio.src = 'audio/boom.mp3'
this.playBgm()
playBgm() {
this.bgmAudio.play()
playShoot() {
// this.shootAudio.currentTime = 0
this.boomAudio.seek(0)
this.shootAudio.play()
playExplosion() {
// this.boomAudio.currentTime = 0
this.boomAudio.seek(0)
this.boomAudio.play()
图片文件的处理
与音频文件类似,将new Image()替换为wx.createImage()获取实例即可
canvas对象处理
因为需要全局暴露,所以我们把canvas归于到Databus全局管理中去,使用wx.createCanvas()获取全局canvas对象
export default class DataBus {
constructor() {
if ( instance )
return instance
instance = this
this.pool = new Pool()
this.canvas = wx.createCanvas()
this.reset()
canvas对象没有addEventListener之类的方法,同理BOM和DOM对象都没有,所以需要用微信的api来处理事件,demo里则是换为wx.onTouchStart() wx.onTouchMove() wx.onTouchEnd()替换先有的方法。(注意main.js里也有需要替换的,原理一样,不赘述了)
// player/index.js
initEvent() {
wx.onTouchStart(((e) =& {
let x = e.touches[0].clientX
let y = e.touches[0].clientY
if (this.checkIsFingerOnAir(x, y)) {
this.touched = true
this.setAirPosAcrossFingerPosZ(x, y)
}).bind(this))
wx.onTouchMove(((e) =& {
let x = e.touches[0].clientX
let y = e.touches[0].clientY
if (this.touched)
this.setAirPosAcrossFingerPosZ(x, y)
}).bind(this))
wx.onTouchEnd(((e) =& {
this.touched = false
}).bind(this))
requestAnimationFrame方法
去掉前面的window就可以了,全局对象里已经支持,setInterval一样
至此我们已经完成了移除适配器,可以在一个极简的条件下开发我们的小游戏了!!
16 收藏&&|&&47
请问示例的源码在哪下载?
请问示例的源码在哪下载?
这个直接在最新版的微信web开发者工具里,新建一个小游戏项目,就会有这些源码了
这个直接在最新版的微信web开发者工具里,新建一个小游戏项目,就会有这些源码了
你好,想问一下你接私活吗,开发微信小游戏可以的话加我微信
你好,想问一下你接私活吗,开发微信小游戏
可以的话加我微信
作者 您好~ 我是小程序社区管理员,非常欣赏你的文章想分享给更多的开发者学习,是否可以?转载会说明原作者和原文地址~
作者 您好~ 我是小程序社区管理员,非常欣赏你的文章想分享给更多的开发者学习,是否可以?转载会说明原作者和原文地址~
可以 转吧~
可以 转吧~
技术大佬一般都不吝分享和学习
技术大佬一般都不吝分享和学习
不是大佬不是大佬 只是一个小白: )
不是大佬不是大佬 只是一个小白: )
终于找到原作者了,谢谢你的分享
终于找到原作者了,谢谢你的分享
你好,请问一下,把main.js修改为export default class Main {
constructor() {
// this.restart()
var img = new Image();
img.src = 'images/hero.png';
ctx.drawImage(img, 0, 0);
}为什么显示不出图片呢?
你好,请问一下,把main.js修改为
export default class Main {
constructor() {
// this.restart()
var img = new Image();
img.src = 'images/hero.png';
ctx.drawImage(img, 0, 0);
为什么显示不出图片呢?
看看控制台有报错吗 再看看正确引入了adapter吗 还有就是看看有没有update里clear了画布
看看控制台有报错吗 再看看正确引入了adapter吗 还有就是看看有没有update里clear了画布
按照您的操作一步步的简化胆码后运行的时候,有些蒙圈饿,有个疑问就是,您使用wx.是基于微信小程序的对么,小白勿喷
按照您的操作一步步的简化胆码后运行的时候,有些蒙圈饿,有个疑问就是,您使用wx.是基于微信小程序的对么,小白勿喷
不是的 这个是基于微信小游戏的 目前你创建项目的时候小游戏跟小程序是分开的 他们的api文档也是分开。
不是的 这个是基于微信小游戏的 目前你创建项目的时候小游戏跟小程序是分开的 他们的api文档也是分开。
你好,想请问一下,官方代码里是没有写转发的,如何在代码里加入转发呢,加在哪里的呀,非常感谢
你好,想请问一下,官方代码里是没有写转发的,如何在代码里加入转发呢,加在哪里的呀,非常感谢
https://mp.weixin.qq.com/debug/wxagame/dev/tutorial/open-ability/share.html?t=201822 看看这个
这个是有看了的,不过不知道具体要加在代码里哪个地方,一直加了没什么效果,还是显示“当前页面未设置转发",原谅我的小白问题~~
@kedaya[kedaya_5a03e29db078f] 这个是有看了的,不过不知道具体要加在代码里哪个地方,一直加了没什么效果,还是显示“当前页面未设置转发&,原谅我的小白问题~~
wx.onShareAppMessage() 这个就是个事件监听 可以在一开始的时候就加
wx.onShareAppMessage() 这个就是个事件监听 可以在一开始的时候就加
现在小游戏有公开的发布平台么。 自己做的怎么来发布
现在小游戏有公开的发布平台么。 自己做的怎么来发布
还没有吧。。可以自己开发测试着玩,等微信大佬们开放平台吧
还没有吧。。可以自己开发测试着玩,等微信大佬们开放平台吧
你好,请问我想开发一个双人玩的小游戏,类似象棋,怎么让两位玩家接入?
你好,请问我想开发一个双人玩的小游戏,类似象棋,怎么让两位玩家接入?
这基本是服务端的问题了,与你的前端通过socket通信。
这基本是服务端的问题了,与你的前端通过socket通信。
分享到微博?
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。H5页面的微信小游戏,没有源码,怎么修改里面的金币值呢?_百度知道
H5页面的微信小游戏,没有源码,怎么修改里面的金币值呢?
H5页面的微信小游戏,没有源码,怎么修改里面的金币值呢?感谢知友!...
H5页面的微信小游戏,没有源码,怎么修改里面的金币值呢?感谢知友!
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:20
获赞数:48
擅长:暂未定制
没有源码怎么能修改得到金币值呢?除非攻破对方的数据库,直接在数据库里面改。
当然可以,想咋改都行
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 微信小游戏页面跳转 的文章

 

随机推荐