背景:工种是前端,没有游戏方面的开发经验
最近接到一个需求:要求开发一个微信小游戏的 SDK ,别人引入之后在他的小游戏上面生成(或者说创建)一个图片的挂件;
遇到的问题: 1 、我原本的思路是通过传入 canvas 的上下文初始化我的类,然后我这边去创建这个图片挂件并渲染在游戏中,但是这样需要使用这个 SKD 的一方在为我这个 SDK 写上不少逻辑,同时也跟其他公司的技术人员沟通,他们对接别人的这种类似的 SDK 都是直接 require 进去就能使用了,所以我怀疑我思路的方向是不正确的;
2 、第二种方式我采用了用 LayaAir 去生成的小游戏实例(因为有些合作公司是使用 laya 开发的),再同样使用原生的方式去创建挂件,但是我无法获取到 canvas 实例的上下文,导致无法顺利创建挂件,同时如果使用 createCanvas 去创建画布,界面就只剩下我这个挂件图片,游戏内容全部抹除;
目前来说我对于实现这个需求还是没有太好思路,也付费去咨询解决方案,但是最后提供的 demo 无法使用,希望各位老哥能帮助提供一下思路,万分感谢。
1
krapnik 2023-04-17 17:47:54 +08:00
提供一个 sdk ,直接 require 进去,sdk 的内容主要为:判断游戏引擎,动态创建 spritem ,将图片挂件添加到场景树上去[比如 laya 的话,就 addChild 到 Laya.stage 上面去],覆盖一下常用的游戏引擎 [CCC,LAYA,EGRET,PIXI,UNITY 等等]
|
2
ChineseCabbage OP @krapnik 谢谢大佬,我按照这个思路去尝试一下,因为我之前的思路都是从原生 js 出发去创建的;
能否再帮我解惑一下,像你这边所说的这种思路是否有一些使用原生写的小游戏不适用呢 |
3
krapnik 2023-04-17 18:10:39 +08:00
是的,在游戏中,带有图形可视化实体的 sdk 都得去适配,因为每个游戏引擎定义的图形可视化实体都不统一,有的喜欢 sprite ,有的喜欢 displayobject ,所以你必须要用游戏环境去创建你的图片挂件。而且你写好了这个 sdk ,不用需要在微信小游戏环境中,web 也是可以测试到的,因为游戏引擎帮你抹平了平台环境的差异。
|
4
stardew 2023-04-17 18:11:39 +08:00
能不能 webview 直接创建一个图片放在最上层,就是个 img 元素,我们之前项目是 cocos creator,有个 sdk 就是这样的,require 时创建并且绑定回调
|
7
ChineseCabbage OP @stardew 谢谢老哥能花时间给我的问题提出见解跟思路
|
8
ChineseCabbage OP @krapnik 感恩老哥,给我指明了思路,已实现功能了,感谢感谢
|