图像函数
makeGraphic(tag:String, width:Int = 256, height:Int = 256, color:String = 'FFFFFF')
初始化创建一个彩色填充纹理;必须在 makeLuaSprite() 函数之后声明。
tag- 要使用的精灵对象的标签名称。width- 对象的宽度值,以像素为单位;默认值:256。height- 对象的高度值,以像素为单位;默认值:256。color- 对象的颜色值;默认值:FFFFFF。
loadGraphic(variable:String, image:String, ?gridX:Int = 0, ?gridY:Int = 0)
用新的精灵纹理替换现有的精灵纹理。可以选择设置精灵对象的裁剪大小。
variable- 要使用的精灵对象的标签名称。image- 精灵对象要使用的新图像精灵。gridX- 可选参数,精灵纹理的裁剪宽度;默认值:0。gridY- 可选参数,精灵纹理的裁剪高度;默认值:0。
setBlendMode(obj:String, blend:String = '')
更改对象的混合模式。如果您想查看更多混合模式,请点击这里。(工作原理类似于 Photoshop)
obj- 要使用的精灵对象的标签名称。blend- 要使用的混合模式;例如:add、darken、invert等;默认值:''。
动画函数
playAnim(obj:String, name:String, forced:Bool = false, ?reverse:Bool = false, ?startFrame:Int = 0)
播放精灵对象的现有动画;它可以覆盖动画。如果 name 参数中存在两个或多个相似的名称;此规则将应用于所有 name 参数。
obj- 要使用的精灵对象的标签名称。name- 要使用的动画的指定名称。forced- 如果动画名称与当前播放的动画名称相同,动画是否会重新开始;默认值:false。reverse- 可选参数,动画是否会反向播放;默认值false。startFrame- 可选参数,动画开始的帧;默认值:0。
addAnimation(obj:String, name:String, frames:Array\<Int>, framerate:Int = 24, loop:Bool = true)
为精灵对象添加一个新动画。
obj- 要使用的精灵对象的标签名称。name- 要使用的动画的指定名称。frames- 指示要按什么顺序播放哪些动画帧的索引;例如:{1, 2, 3}。framerate- 动画每秒播放的帧数;默认值:24。loop- 动画是否循环;默认值true。
addAnimationByPrefix(obj:String, name:String, prefix:String, framerate:Int = 24, loop:Bool = true)
从xml 文件中添加一个新动画,供精灵对象使用。
obj- 要使用的精灵对象的标签名称。name- 要使用的动画的指定名称。prefix- 要播放的 xml 文件中的前缀名称。framerate- 动画每秒播放的帧数;默认值:24。loop- 动画是否循环;默认值true。
addAnimationByIndices(obj:String, name:String, prefix:String, indices:String, framerate:Int = 24, loop:Bool = false)
注意:在 0.7 之前的版本中,如果您想循环播放动画,必须使用
addAnimationByIndicesLoop,因为这里不存在第六个参数;除循环参数外,所有参数都相同。
添加一个新动画,其中包含要为动画帧播放的指定索引,供精灵对象使用。
obj- 要使用的精灵对象的标签名称。name- 要使用的动画的指定名称。prefix- 要播放的 xml 文件中的前缀名称。frames- 指示要按什么顺序播放哪些动画帧的索引;例如:1, 2, 3。framerate- 动画每秒播放的帧数;默认值:24。loop- 动画是否循环;默认值:false。
addOffset(obj:String, anim:String, x:Float, y:Float)
在每个动画上添加一个新的偏移值。
obj- 要使用的精灵对象的标签名称。anim- 要使用的动画的指定名称。x- 动画的新 x 偏移值。y- 动画的新 y 偏移值。
loadFrames(variable:String, image:String, spriteType:String = "sparrow")
加载 Lua 精灵的动画帧。
variable要使用的精灵对象的标签名称。image- 精灵要使用的图像精灵。spriteType- 可选参数,Lua 精灵的指定精灵类型可以是sparrow的精灵表或tex的纹理图集;默认值:sparrow。
预缓存函数
!> 强烈建议您在 onCreate() 回调中使用此功能。这些函数主要用于避免在首次使用资源时出现游戏卡顿。
addCharacterToList(name:String, type:String)
预缓存精灵角色,如果您要切换角色,请使用此函数。
name- 角色的json名称。type- 要使用的角色类型;可以是:boyfriend、dad或gf。
precacheImage(name:String, ?allowGPU:Bool = true)
预缓存图像精灵;必须相对于 mods/images、assets/images 或 assets/shared/images 文件夹。
name- 精灵要使用的图像精灵。allowGPU- 可选参数,如果启用了 GPU 缓存,是否允许在 GPU 上缓存;默认值:true。
precacheSound(name:String)
预缓存声音;必须相对于 mods/sounds 或 assets/sounds 文件夹。
name- 要播放的ogg声音文件。
precacheMusic(name:String)
预缓存音乐;必须相对于 mods/music 或 assets/music 文件夹。
name- 要播放的ogg音乐文件。
对象顺序函数
setObjectOrder(obj:String, position:Int)
使用新值设置对象的当前图层位置。
obj- 要使用的对象的标签名称。position- 要设置的新图层位置。
getObjectOrder(obj:String)
获取对象的当前图层位置当前值;返回一个 int 数字。
obj- 要使用的对象的标签名称。
objectsOverlap(obj1:String, obj2:String)
检查两个对象是否相互重叠;返回一个 boolean。
obj1- 要使用的第一个对象的标签名称。obj2- 要使用的第二个对象的标签名称。
缩放函数
setGraphicSize(obj:String, x:Int, y:Int = 0, updateHitbox:Bool = true)
按像素设置对象图形大小;不要与 scaleObject() 混淆。
obj- 要使用的对象的标签名称。x- 要设置的对象的宽度值。y- 要设置的对象的高度值;默认值:0。updateHitbox- 是否更新对象的尺寸或碰撞盒;默认值:true。
scaleObject(obj:String, x:Float, y:Float, updateHitbox:Bool = true)
通过缩放属性设置对象大小。
obj- 要使用的对象的标签名称。x- 要设置的对象的scale.x值。y- 要设置的对象的scale.y值。updateHitbox- 是否更新对象的尺寸或碰撞盒;默认值:true。
updateHitbox(obj:String)
更新对象的尺寸或碰撞盒。如果您要更改对象的缩放比例,请使用此选项。
obj- 要使用的对象的标签名称。
中点/位置函数
getGraphicMidpointX(variable:String)
获取对象的图形中点的 x 值;不要与 getMidpointX() 函数混淆;返回一个 float 数字。
variable- 要使用的对象的标签名称。
getGraphicMidpointY(variable:String)
获取对象的图形中点的 y 值;不要与 getMidpointY() 函数混淆;返回一个 float 数字。
variable- 要使用的对象的标签名称。
getMidpointX(variable:String)
获取对象的中点 x 值;返回一个 float 数字。
variable- 要使用的对象的标签名称。
getMidpointY(variable:String)
获取对象的中点 y 值;返回一个 float 数字。
variable- 要使用的对象的标签名称。
getScreenPositionX(variable:String, ?camera:String)
获取对象在特定摄像机上的屏幕 x 位置;返回一个 float 数字。
variable- 要使用的对象的标签名称。camera- 可选参数,要检查其位置的摄像机。
getScreenPositionY(variable:String, ?camera:String)
获取对象在特定摄像机上的屏幕 y 位置;返回一个 float 数字。
variable- 要使用的对象的标签名称。camera- 可选参数,要检查其位置的摄像机。
screenCenter(obj:String, pos:String = 'xy')
将对象居中到 X 或 Y 位置;也可以同时居中。
obj- 要使用的对象的标签名称。pos- 要设置的位置;可以是:X、Y、XY;默认值:XY。
其他函数
setScrollFactor(obj:String, scrollX:Float, scrollY:Float)
更改摄像机移动时对象滚动的程度。
obj- 要使用的对象的标签名称。scrollX- 要设置的滚动的 x 值。scrollY- 要设置的滚动的 y 值。
setObjectCamera(obj:String, camera:String = '')
更改对象的摄像机状态。
obj- 要使用的对象的标签名称。camera- 要设置的摄像机状态;可以是:camGame、camHUD或camOther;默认值:''。