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一定要钻研源码,多实践!
整理不易,还望点赞。
在这里插入图片描述

  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【实例教程1】怎样编写一个件? 1. 件的注释与定义参数 2. 读取件参数 3. 件指令的实现 【实例教程2】制作一个启动画面 1. 从哪里开始? 2. 创建启动画面的场景类 【实例教程3】玩转菜单初级篇 1. 给各个菜单界面添加背景 2. 让背景滚动起来 3. 在主菜单界面增加自定义菜单:改名 4. 在主菜单界面移除菜单命令 5. 在主菜单界面增加一个自定义窗口 【实例教程4】玩转标题画面 1. 美化游戏标题 2. 让背景动起来 3. 自定义标题菜单 4. 美化菜单 【实例教程5】制作小游戏:坦克大战(上) 1. 游戏结构及流程介绍 2. 相关素材资源的下载和使用 3. 基础知识:音效的播放 4. 基础知识:精灵表的切帧 5. 基础知识:使用MV中的动画 6. Scene_TankWarTitle类解析 7. Sprite_Bullet类解析 8. Sprite_Explode类解析 9. Sprite_Tank类解析 10. Sprite_Enemy类解析 11. Scene_TankWar类解析 12. Scene_TankWarGameOver类解析 【实例教程6】存档的加密解密与保护 1. 找出MV存档和读档的方式 2. 制作MV存档的修改器 3. 如何保护存档? 4. 制作一个存档保护件 【实例教程7】制作一个传送件 1. 传送件的主要功能 2. 将自定义数据保存到存档中 3. meta数据的使用 4. 使用地图备注登记传送点 5. 在件中解析并记录传送点 6. 使用地图备注登记多个传送点并在件中记录 7. 制作传送点选取窗口显示传送点数据 8. 将物品或技能标记为传送物品、传送技能 9. 显示传送动画实现传送功能 10. 禁止使用传送道具或传送技能 11. 实现件命令
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值