设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1317|回复: 3
打印 上一主题 下一主题

[胡扯] 垃圾shitake又双叒叕写GUI了

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4593
在线时间
1205 小时
注册时间
2016-4-7
帖子
982

开拓者

跳转到指定楼层
1
发表于 2017-1-12 14:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
之前给VA造GUI的轮子,结果因为RMVA的捉急渲染效率而弃坑。

顺手写了短时间的js。折腾了会儿html5。然后就把这个大坑搬到了pixi.js + electron上。
自己用ES6重写了Bitmap(基本是在抄RM)和Sprite。
整个项目都是用ES6(然而因为想直接不用babel编译就能跑在electron上,所以使用ES6特性都是electron支持的【所以你会看到各种require)

然后内置资源加载(顺手连cache也管了)和i18n支持(提供了一个 '_(str, flag)' 函数)。

虽然项目的名字还是叫RGUI,介绍也写的是 RPG Maker GUI Framework,然而并不能直接在MV里跑。原因主要是MV用的是nwjs,而且RGUI用了C++扩展库(fibers)。

所以web和移动端就不用想了(或者重写一个不使用fibers的Svent?反正目前也没用到异步事件回调)。

对于桌面端,要么魔改RMMV,让她泡在electron里,这么做基本没难度,目前王二就是被我魔改后跑在electron里。再要么就是魔改RGUI了。也没啥难度,修改几处对electron的引用,然后把fibers用nwjs重新build一下(目前跑的fibers是我自己build的electron版)。

控件方面,完全能用的就只有ImageBox。有几个正在重写(之前渲染部分使用的RMMV的Sprite和BItmap)。反正写起来应该没啥难度,很快就能封装一堆控件出来。

项目地址:https://github.com/molingyu/rguijs
文档:https://molingyu.github.io/rguijs/

想尝尝鲜的可以 git clone 下来,然后 npm install && npm run start 。

JAVASCRIPT 代码复制
  1. let image = new RGUI.ImageBox({
  2.     x: 100,
  3.     y: 100,
  4.     width: 400,
  5.     height: 400,
  6.     type: 0,
  7.     focus: true,
  8.     image: 'test'
  9.   });
  10.  
  11.   image.eventManager.on('Right', {}, ()=>{ image.xScroll(5) });
  12.   image.eventManager.on('Down', {}, ()=>{ image.yScroll(5) });
  13.   image.eventManager.on('Left', {}, ()=>{ image.xScroll(-5) });
  14.   image.eventManager.on('Up', {}, ()=>{ image.yScroll(-5) });
  15.   image.eventManager.on('A', {}, ()=>{ image.x -= 10 });
  16.   image.eventManager.on('D', {}, ()=>{ image.x += 10 });
  17.   image.eventManager.on('W', {}, ()=>{ image.y -= 10 });
  18.   image.eventManager.on('S', {}, ()=>{ image.y += 10 });
  19.  
  20.   stage.addChild(image);


这是范例里的一段代码,创建了一个 ImageBox 控件,然后添加了一些事件。效果是按 wasd 移动整个ImageBox控件位置。按 ↑↓←→ 竖向和横向滚动图片框的内容。

点评

能说详细一点吗?fibers的作用只是包裹异步事件回调【确实同样的效果不用fiber也是可以。只不过这套代码最开始是从ruby迁移过去,所以没考虑太多  发表于 2017-1-13 23:19
虽然用到了fibers但是给人根本没有理解异步的感觉,有的需要一个promise的地方连fibers都没有  发表于 2017-1-13 21:52
electron好像是node.js的东西吧……虽然不懂但是好厉害啊……RM终于有能看的GUI代码了……  发表于 2017-1-12 15:14

评分

参与人数 1星屑 +66 收起 理由
MeowSnow + 66 虽然看不懂不过感觉好厉害啊

查看全部评分

附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-30 21:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表