之前想参考的《もしもスマブラだった》中的镜头实现来做一个手动拉伸和缩放视角的效果(类似某魔兽 rpg 地图 —— BOOM 海战!),结果研究一下最后还是失败了。。。
这一次来试试用同样的方法试试能不能做 Sliding Puzzle 小游戏。。。
当然这个 common event 肯定是能搓出来的。。不过肯定没法维护就是了。。
首先还是在开箱子的时候,执行一条自定义指令 “.sliding_puzzle”。。
然后再自定义指令里单独进行画图。。。
那么首先还是看显示图片是哪一条命令。。。
发现是 CommandShowPicture。。。
然后里面调用的是。。
Main_Data::game_pictures->Show(pic_id, params);
但是这个 params 里并没有包含切图的功能。。
但是我记得 sprite 里是有 src_rect 属性的。。
嗯虽然是有的但是耦合程度非常高。。唯一比较灵活的修改的地方是一处。。
SetSrcRect(Rect{ sx, sy, sw, sh });
反正不是切行走图就是切地图块。。里面的参数都是写死的。。。
所以看起来比较简单的写法。。应该是在绘图前,进行截胡。。。弄一个全局变量。。
但是很快发现绘制地图和生成地图的过程。。显然是分开的囧。。所以没办法。。
只能给 sprite 和 params 增加一组新属性 myRect 用来在画图前截胡。。