RPGMAKER游戏引擎基于JavaScript的插件制作(附录1)——精灵类(sprite)的属性,方法以及原型链全解读

精灵,放置于场景或者窗口的,由位图创建的,可以展示动画的对象。
本文将根据本人经验介绍精灵类的属性,方法,以及RM自带精灵的原型链关系,结合RPGMAKER MV JS库提供资料,游戏源码rpg_sprites.js以及自己理解写成

场景和窗口对象是精灵的容器,通过addChild函数可以将精灵加入其中,于此同时一个精灵对象可以作为其它精灵对象的容器,详见教程六


1.精灵的属性

关于位置:
anchor:0-1的数,作用是设置绘制精灵的起始坐标,是一种相对的调节精灵位置的属性,常配合move函数使用
rotation:数,精灵的旋转角度
x,y:数,精灵的X坐标,Y坐标,注意坐标不可超出框架范围,常和move方法和setFrame方法配合使用

关于精灵图像自身:
bitmap:位图文件png
scale :数,精灵的缩放比例,常用于设计按键的点击效果,有时也用于像素不合适图片的放缩(用微软自带的画板工具可以直接修改图片像素)
height ,width:数,精灵图像的像素高和宽
opacity :0-255的数,精灵的不透明度
visible :布尔值,精灵是否可见

关于原型关系:
children:数组,只读属性,当前精灵含有的子精灵
parent :数组,只读属性,包含当前精灵的父容器

没搞清楚的:
blendMode:数字,精灵的图像混合模式,目前不会用
filters :数组,设置精灵的过滤器,目前不会用

2.精灵的方法

管理子类:
addChild:形参为对象,作用是往该容器中加入一个对象,加入的对象成为子精灵
addChildAt :形参为对象和数字,往容器某个位置加入对象。这样可以通过children数组这个属性获得指定对象
removeChild:形参为对象,将当前容器的某个子精灵移除
removeChildAt ( index ):通过参数索引移除精灵,与addChildAt配合使用

管理颜色:
getBlendColor:返回值为数组 r,g,b,a,获得当前精灵的混合色
getColorTone:返回值为数组r,g,b,gray,获取当前精灵色调
setBlendColor ( color ):形参为数组,设置精灵的混合色
setBlendTone(color):形参为数组,设置精灵的色调

管理位置:
move ( x , y ):x,y为基于初始位置位移的像素数,坐标系默认为以左上角为起点的右手坐标系,通过设置anchor可以改变坐系起点
setFrame ( x , y , width , height ):设置一个矩形区域为精灵活动范围,xy为区域左上角坐标,单位为像素,也就是说其精灵本身和其子精灵都不能超出该矩形区域,注意这里的XY正方向好像是和move的正方向是反的

控制动画:
update():刷新函数,默认每一帧都会调用一次进行刷新,如果想要刷新不那么频繁(节省运算资源或者实现特殊功能),可以在这个函数里设置一个累加变量和判断语句令其隔一段时间再刷新。

3.精灵的原型链关系

亲整理最详细导图


多说一句,我这些只是辅助参考的工具,想要真正学懂学深3一定要钻研源码,多实践!
整理不易,还望点赞。
在这里插入图片描述

发布了12 篇原创文章 · 获赞 36 · 访问量 3329

猜你喜欢

转载自blog.csdn.net/xmoss/article/details/104990680