GameUtils 针对游戏相关的常用工具方法
关于朝向
--朝向可参考以5为中心的小键盘数字:
1-左下 2-下 3-右下 4-左 6-右 7-左上 8-上 9-右上
维护人员:黑暗之神KDS
创建时间:2018-08-08
继承 无
子类 无
Public 方法
方法 |
---|
getAssetOri(ori : number, oriMode? : number): number 静态获取实际资源的面向,由于实际资源未必有指定的面向,这里会做为映射 |
getOriByAngle(angle : number): number 静态根据0-360角度获取对应的面向 |
getAngleByOri(ori : number): number 静态根据面向获取0-360度 |
getFlipOri(ori : number): number 静态获取相反的面向 |
getGridPostion(p : Point, helpP? : Point): Point [静态]实际坐标->格子坐标 |
getGridCenter(p : Point, helpP? : Point): Point [静态]实际坐标->实际坐标中心点 |
getGridCenterByGrid(gridP : Point, helpP? : Point): Point [静态]格子坐标 -> 实际坐标中心点 |
getSameStateGrid(mapData : any[], gridX : number, gridY : number, width : number, height : number, attributes : string, limit? : number): Point 静态查询临近的同状态路径,如GameCreator编辑器中油漆桶则使用了该方法 |
getMendingGrids(grid1 : Point, grid2 : Point, per? : number): Point 静态获取两个格子之间的补间格子 |
getAutoFitSizePre(rect : Rectangle, canvasRect : Rectangle): number 静态获取最小等比适配比例 canvasRect.width/rect.width 与 canvasRect.height/rect.height的最小值 |
isInheritNode(node : any, parentNode : any): boolean 静态判断是否继承于某个节点(节点系统中需要有parent属性来指向父节点) |
getVarID(value : string): number 静态根据特定字符串$n来获取n,不符合的返回0 |
isLegalVarName(varName : string): boolean 静态检查是否合法的变量名 |
getCurveData(curveStrData : string): any 静态获取曲线数据,根据字符串格式的数据 |
getBezierPoint2ByGroupValue(groupValue : any, x : number): number 静态根据曲线数据获取其中某个点的值 |
getTransData(transDataStr : string): TransData 静态根据字符串格式的数据,获取过渡组件Object类型数据 |
getValueByTransData(transData : TransData, x : number): number 静态根据传入的参数x,获取过渡对应的值 |
详情
getAssetOri
getAssetOri(ori : number, oriMode? : number): number :
静态获取实际资源的面向,由于实际资源未必有指定的面向,这里会做为映射
如只有四方向的行走图,获取右上方向的话则映射为方向右
参数
ori 面向
oriMode [可选] 默认值=8 面向模式1/2/3/5/8
返回
number 替换映射后的面向
getOriByAngle
getOriByAngle(angle : number): number :
静态根据0-360角度获取对应的面向
参数
angle 角度 0-360
返回
number 返回面向 1/2/3/4/6/7/8/9
getAngleByOri
getAngleByOri(ori : number): number :
静态根据面向获取0-360度
参数
ori 面向 1/2/3/4/6/7/8/9
返回
number 角度 0-360
getFlipOri
getFlipOri(ori : number): number :
静态获取相反的面向
参数
ori 面向 1/2/3/4/6/7/8/9
返回
返回与ori相反的面向,如2的反方向是8
getGridPostion
getGridPostion(p : Point, helpP? : Point): Point :
[静态]实际坐标->格子坐标
参数
p 实际坐标
helpP [可选] 默认值=null 如果存在则使用该对象来自装载而非创建新的Point对象
返回
Point 格子坐标
getGridCenter
getGridCenter(p : Point, helpP? : Point): Point :
[静态]实际坐标->实际坐标中心点
参数
p 实际坐标
helpP [可选] 默认值=null 如果存在则使用该对象来自装载而非创建新的Point对象
返回
Point
getGridCenterByGrid
getGridCenterByGrid(gridP : Point, helpP? : Point): Point :
[静态]格子坐标 -> 实际坐标中心点
参数
gridP 格子坐标
helpP [可选] 默认值=null 如果存在则使用该对象来自装载而非创建新的Point对象
返回
Point
getSameStateGrid
getSameStateGrid(mapData : any[], gridX : number, gridY : number, width : number, height : number, attributes : string, limit? : number): Point :
静态查询临近的同状态路径,如GameCreator编辑器中油漆桶则使用了该方法
参数
mapData 图数据
gridX 起点格子
gridY 起点格子
width 总宽度
height 总高度
attributes 判断格子状态相同的属性集,即与mapData数据中的有一种属性不同的话也视为不同的状态 null 则表示直接对比
limit 默认值=100 限制搜索仅在周围limit距离的正方形范围内
返回
Point
getMendingGrids
getMendingGrids(grid1 : Point, grid2 : Point, per? : number): Point :
静态获取两个格子之间的补间格子
参数
grid1 起点格
grid2 终点格
per [可选] 默认值=0.1 每次遍历的比例,如果0.1表示起点格到终点格切分10次后返回不重复的中间格
返回
Point
getAutoFitSizePre
getAutoFitSizePre(rect : Rectangle, canvasRect : Rectangle): number :
静态获取最小等比适配比例 canvasRect.width/rect.width 与 canvasRect.height/rect.height的最小值
参数
rect
canvasRect 画布矩形
isInheritNode
isInheritNode(node : any, parentNode : any): boolean :
静态判断是否继承于某个节点(节点系统中需要有parent属性来指向父节点)
参数
node 节点
parentNode 疑似父节点
返回
是否是真正的父节点
getVarID
getVarID(value : string): number :
静态根据特定字符串$n来获取n,不符合的返回0
参数
value 特殊格式:如$6
返回
变量ID:如6
isLegalVarName
isLegalVarName(varName : string): boolean :
静态检查是否合法的变量名
参数
varName 变量名称
返回
boolean 是否合法
getCurveData
getCurveData(curveStrData : string): any :
静态获取曲线数据,根据字符串格式的数据
返回格式:[[0,0,startY,maxLength,maxHeight],type,startX,startY,endX,endY,ctrlX,ctrlY,type,startX,startY,endX,endY,ctrlX,ctrlY,...]
maxLength=最大长度(仅供参考) maxHeight=最大高度 起点x始终位于0,终点x始终位于100 type=0-线性线段 1-二次贝塞尔曲线片段(拥有ctrlX,ctrlY)
参数
curveStrData 曲线数据
返回
groupValue
getBezierPoint2ByGroupValue
getBezierPoint2ByGroupValue(groupValue : any, x : number): number :
静态根据曲线数据获取其中某个点的值
曲线数据的格式:[[0,0,startY,maxLength,maxHeight],type,startX,startY,endX,endY,ctrlX,ctrlY,type,startX,startY,endX,endY,ctrlX,ctrlY,...]
maxLength=最大长度(仅供参考) maxHeight=最大高度 起点x始终位于0,终点x始终位于100 type=0-线性线段 1-二次贝塞尔曲线片段(拥有ctrlX,ctrlY)
参数
groupValue 曲线数据
x 0~1 0表示曲线头,1表示曲线尾 假设该曲线是只有一段线性曲线,值范围是0-5000,则0.5的值是2500
返回
value 值
getTransData
getTransData(transDataStr : string): TransData :
静态根据字符串格式的数据,获取过渡组件Object类型数据
参数
transData 字符串格式数据
getValueByTransData
getValueByTransData(transData : TransData, x : number): number :
静态根据传入的参数x,获取过渡对应的值
参数
transData 过渡数据
x 范围 0-1