请选择 进入手机版 | 继续访问电脑版

站内搜索

搜索
热搜: 活动 交友 discuz

iFAction 世界需要你的想象力!

iF2D API开发文档

 

31

主题

304

帖子

1547

积分

管理员

iFAction缔造者

Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22

积分
1547

iFAction学院校长

发表于 2019-7-24 19:08:02 | 显示全部楼层 |阅读模式
iF2D API开发文档

*与学习手册一起食用效果最佳


IAnim (序列帧动画类)


构造函数
说明
备注
IAnim(bmps,  z, viewport)
bmps  序列帧动画图片
    z 动画的z坐标
    viewport动画的视窗(可缺省)

属性
说明
备注
isLoop(bool)
动画是否循环播放
    默认false
sanim(ISprite)
动画绑定的精灵对象
x(Number)
动画x坐标
y(Number)
动画y坐标
z(Number)
动画图层
onload(function)
动画预加载函数
仅web


函数
说明
备注
setPlaytimes(times)
设置动画播放次数
    times(Number)次数
setIndex(index)
设置当前动画帧
    index(Number)动画帧位置
setXY(x,y)
设置动画坐标
    x(Number)x坐标
    y(Number)y坐标
setSpeed(speed)
设置动画播放速率
    speed(Number)间隔速度,越大越慢
start()
开始播放动画
stop()
停止播放动画
setBitmaps(bmps)
为动画重新设置图片
update()
刷新动画
此函数需要放进状态机中动画才能有实际效果
pause()
动画暂停
isFinishd()
判断动画是否播放完毕
    返回值 bool
dispose()
释放动画资源
disposeMin()
释放动画索引资源,不释放位图资源
setOnFinishAnim(ofa)
设置动画播放完毕后的回调
    ofa(function) 播放完毕要执行的回调函数
setOnFrameAnim(ofa,frame)
设置动画在某帧要执行的回调
    ofa(function) 播放到某帧时执行的回调函数
    frame(Number) 具体帧
clearFrameAnim()
清空帧动作回调



IAudio 音乐音效部分


静态函数部分
说明
备注
IAudio.playSE(filename,volume)
播放文件名为filename的音乐文件作为SE,音量为volume。其中filename为游戏工程相对路径文件,volume为0~100的整形值
IAudio.stopSE()
停止SE
IAudio.playVoice(filename,volume)
播放文件名为filename的音乐文件作为语音,音量为volume。
IAudio.stopVoice()
停止语音
IAudio.playBGM(filename,volume)
播放文件名为filename的音乐文件作为背景音乐,音量为volume。
IAudio.stopBGM()
停止背景音乐
IAudio.playBGS (filename,volume)
播放文件名为filename的音乐文件作为背景音效,音量为volume。
IAudio.stopBGS()
停止背景音效
IAudio.BGMFade(time)
用time时间淡出BGM,单位秒
IAudio.BGSFade(time)
用time时间淡出BGS,单位秒

IBitmap(位图类)

静态函数
说明
备注
IBitmap.ABitmap(path)
读取一张工程路径下的位图
    path(string) 位图路径
   
    返回 Image对象
本函数在Web读取的路径为 路径+\Res
IBitmap.WBitmap(path)
读取一张web端的位图
    path(string) 位图地址
   
    返回 Image对象
本函数在除Web端意外都与Abitmap相同。
IBitmap.CBitmap(width,height)
创建位图
    width(Number)宽度
    height(Number)高度
   
    返回 Image对象
IBitmap.GetPointPixel(img,x,y)
创获得指定图像 x y坐标的像素点
img(Bitmap):要获取像素的图像
x(number):图像x坐标
y(number):图像y坐标

返回值:IColor 指定像素点的颜色
使用范例:
var img = RF.LoadBitmap("a.jpg")
log(IBitmap.GetPointPixel(img,10,10))

*V1.6.37.0226版本增加
特别说明:由于多端的资源读取难以统一,建议大家读取图片使用 RF.LoadBitmap(path)函数来读取


附 Image 结构
属性
说明
备注
width(Number)
位图宽度
height(Number)
位图高度
complete(bool)
是否加载完毕
仅Web有效,其他端为true
onload(function)
加载完成回调
仅Web有效,其他端直接执行函数内容


函数
说明
备注
dispose()
释放位图资源
Web端无效
loadTexture()
将位图加载到帖图集
Web端无效
特别说明:Image对象由iF2D自动完成,基本不用操作,主要作用就是获取位图的宽度和高度


IButton 控件·按钮
构造函数
说明
备注
IButton(bmp1,bmp2,txt,viewprot,isNeedDraw)
bmp1(Image)按钮按下前位图
    bmp2(Image)按钮按下后的位图
    txt(string) 按钮上的文字 可缺省
    viewprot(IViewprot) 按钮所归属的视窗 可缺省
    isNeedDraw(bool) 需要生成单独绘制精灵 可缺省


属性
说明
备注
tag(any)
绑定在button上的数据

onload(function)
设置按钮的资源读取回调函数
仅Web有效,其他端直接执行函数内容
x(Number)
设置或获得 按钮的x坐标
y(Number)
设置或获得 按钮的y坐标
z(Number)
设置或获得 按钮的图层
zoomX(Number)
设置或获得 按钮的X方向缩放率
zoomY(Number)
设置或获得 按钮的Y方向缩放率
visible(bool)
设置按钮是否可见
opacity(Number)
设置按钮的不透明度  
    取值范围0~1
width(Number)
获得按钮宽度
只读
height(Number)
获得按钮高度
只读


函数
说明
备注
drawTitle(str,x,y)
重新绘制按钮文字
    str(string) 要绘制的文字,支持转译
    x(Number) 相对于按钮的x坐标 y(Number) 相对于按钮的y坐标
drawTitleQ(str,color,size)
高效重新绘制按钮文字
    str(string) 要绘制的文字
    color(IColor) 文字颜色
    size(Number) 文字大小
文字在居中位置
toSimple(tp,sn)
转换按钮类型
    tp(Number) -1 默认双图片样式
    0单图片样式
    sn 单图片按下缩放率
setYXYY(yx,yy)
设置按钮圆心点位置
    yx 圆心x 取值0~1
    yy 圆心y 取值0~1
setBitmap(bmp1,bmp2,dispose)
重新设置按钮图片
    bmp1 未按下图片
    bmp2 按下图片
    dispose 释放之前的图片
getSprite()
获得绘制精灵(需要在构造时isNeedDraw为true才可获得绘制精灵)
    返回值 ISprite
getText()
获得绘制文字的精灵(需要在构造时  txt 不为空字符串才可获取)
    返回值ISprite
exchange()
交换设置的按下状态与未按下状态的图片
dispose()
释放按钮资源
disposeMin()
释放按钮索引资源,保留按钮图片资源
isSelected()
按钮是否被选中
    返回值 isBool
setEnableBitmap(bmp)
设置按钮不可用情况的图片
    bmp(Image) 位图
setEnable(b)
设置按钮的可用状态
    b(Bool)
getEnable()
获得按钮的可用状态
    返回值 Bool
isClick()
按钮是否按下
    返回值 Bool
isOn()
按钮是否被鼠标悬停/触摸
    返回值 Bool
cancelSelect()
取消按钮选择
getBack()
获得按钮的基本精灵
    返回值 Isprite
update()
按钮的主刷新逻辑
    返回值 Bool(按钮是否被按下)
此函数需要放进状态机中动画才能有实际效果
fade(bo,eo,frame)
设置按钮淡入淡出动画
    bo(Number) 起始不透明度
    eo(Number) 结束不透明度
fadeTo(o, frame)
设置按钮从当前不透明度起的淡入淡出动画
    o(Number) 目标不透明度
    frame(Number)帧数
slide(bx, by,ex,ey, frame)
设置按钮位移动画
    bx(Number) 起始x坐标
    by(Number) 起始y坐标
    ex(Number) 目标x坐标
    ey(Number) 目标y坐标
    frame(Number) 所需帧数
slideTo( x, y, frame)
设置按钮从当前位置到目标位置的移动动画
    x(Number) 目标x坐标
    y(Number) 目标y坐标
    frame(Number) 所需帧数
scale( bzx, bzy,ezx,ezy, frame)
设置按钮缩放动画
    bzx(Number) 起始x轴缩放率
    bzy(Number) 起始y轴缩放率
    ezx(Number) 目标x轴缩放率
    ezy(Number) 目标y轴缩放率
    frame(Number) 帧率
scaleTo( zx, zy, frame)
设置按钮从当前缩放率到目标缩放率的动画
    zx(Number) 目标x轴缩放率
    zy(Number) 目标y轴缩放率
    frame(Number) 帧率
setAction(action,args)
设置按钮动作序列
    action(action枚举)
    args(多参数) 具体动作参数
setActLoop( loop)
是否重复执行动作序列
    loop(bool) true为重复执行
    false 只执行一次

ICheck 控件·单选控件

构造函数
说明
备注
ICheck(bmp1,bmp2,txt,viewprot,select)
bmp1(Image)控件已选中的位图
    bmp2(Image)控件未选中的位图
    txt(string) 控件的文字 可缺省
    viewprot(IViewprot) 按钮所归属的视窗 可缺省
    select(bool) 是否选中



属性
说明
备注
tag(any)
绑定在button上的数据

onload(function)
设置按钮的资源读取回调函数
仅Web有效,其他端直接执行函数内容
x(Number)
设置或获得 按钮的x坐标
y(Number)
设置或获得 按钮的y坐标
z(Number)
设置或获得 按钮的图层
zoomX(Number)
设置或获得 按钮的X方向缩放率
zoomY(Number)
设置或获得 按钮的Y方向缩放率
visible(bool)
设置按钮是否可见
opacity(Number)
设置按钮的不透明度  
    取值范围0~1
width(Number)
获得按钮宽度
只读
height(Number)
获得按钮高度
只读
mouseOn
是否选中该控件


函数
说明
备注
drawTitle(str,x,y)
重新绘制按钮文字
    str(string) 要绘制的文字,支持转译
    x(Number) 相对于按钮的x坐标 y(Number) 相对于按钮的y坐标
drawTitleQ(str,color,size)
高效重新绘制按钮文字
    str(string) 要绘制的文字
    color(IColor) 文字颜色
    size(Number) 文字大小
文字在居中位置
getText()
获得绘制文字的精灵(需要在构造时  txt 不为空字符串才可获取)
    返回值ISprite
dispose()
释放按钮资源
disposeMin()
释放按钮索引资源,保留按钮图片资源
isClick()
按钮是否按下
    返回值 Bool
getBack()
获得按钮的基本精灵
    返回值 Isprite
update()
按钮的主刷新逻辑
    返回值 Bool(按钮是否被按下)
此函数需要放进状态机中动画才能有实际效果
fade(bo,eo,frame)
设置按钮淡入淡出动画
    bo(Number) 起始不透明度
    eo(Number) 结束不透明度
fadeTo(o, frame)
设置按钮从当前不透明度起的淡入淡出动画
    o(Number) 目标不透明度
    frame(Number)帧数
slide(bx, by,ex,ey, frame)
设置按钮位移动画
    bx(Number) 起始x坐标
    by(Number) 起始y坐标
    ex(Number) 目标x坐标
    ey(Number) 目标y坐标
    frame(Number) 所需帧数
slideTo( x, y, frame)
设置按钮从当前位置到目标位置的移动动画
    x(Number) 目标x坐标
    y(Number) 目标y坐标
    frame(Number) 所需帧数
scale( bzx, bzy,ezx,ezy, frame)
设置按钮缩放动画
    bzx(Number) 起始x轴缩放率
    bzy(Number) 起始y轴缩放率
    ezx(Number) 目标x轴缩放率
    ezy(Number) 目标y轴缩放率
    frame(Number) 帧率
scaleTo( zx, zy, frame)
设置按钮从当前缩放率到目标缩放率的动画
    zx(Number) 目标x轴缩放率
    zy(Number) 目标y轴缩放率
    frame(Number) 帧率
setAction(action,args)
设置按钮动作序列
    action(action枚举)
    args(多参数) 具体动作参数
setActLoop( loop)
是否重复执行动作序列
    loop(bool) true为重复执行
    false 只执行一次
setOtherCheck(ck)
设置单选的同组控件数组
    ck(Array)
setSelected(s)
设置控件是否被选中
    s(bool) 是否选中
clickBox
选中当前控件,并取消同组其他控件的选中状态

评分

参与人数 6金钱 +111 收起 理由
_Nrdo + 9 很给力!
libaidan + 9 赞一个!
lyirs + 9 很给力!
shuangyou + 66 居然更新了
星晨 + 9 很给力!
作死先锋 + 9 赞一个!

查看全部评分

31

主题

304

帖子

1547

积分

管理员

iFAction缔造者

Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22

积分
1547

iFAction学院校长

 楼主| 发表于 2019-7-24 22:53:52 | 显示全部楼层
IColor 颜色

构造函数
说明
备注
IColor(color)
color  以逗号隔开的rgb颜色
    范例1 r,g,b 如 "255,146,17"
    范例2 r,g,b,a  "255,146,255,255"
IColor(r,g,b)
r(Number)  颜色红色值
    g(Number) 颜色绿色值
    b(Number) 颜色蓝色值
IColor(r,g,b,a)
r(Number)  颜色红色值
    g(Number) 颜色绿色值
    b(Number) 颜色蓝色值
    a(Number) 颜色不透明度


属性
说明
备注
R(Number)
红色值
G(Number)
绿色值
B(Number)
蓝色值
A(Number)
不透明度


函数
说明
备注
JColor
将IColor转换为H5所需的颜色格式
TColor
将IColor转换为iF2D所需的正则颜色
    范例: \c[r,g,b]


静态函数
说明
备注
IColor.Black()
返回 0,0,0的IColor对象
IColor.White()
返回 255,255,255的IColor对象
IColor.Red()
返回 255,0,0的IColor对象
IColor.Blue()
返回 0,0,255的IColor对象
IColor.Green()
返回 0,255,0的IColor对象
IColor.Transparent()
返回 0,0,0,0的IColor对象
IColor.CreatColor()
等同于  new Icolor(r,g,b)


IFont 字体操作
静态函数
说明
备注
IFont.getWidth(txt,size)
计算指定文字在指定尺寸下的绘制宽度
    txt(string) 要计算文字
    size(Number) 文字大小
    返回值 Number 计算后尺寸
size为整数
IFont.getHeight(txt,size)
计算指定文字在指定尺寸下的绘制高度
    txt(string) 要计算文字
    size(Number) 文字大小
    返回值 Number 计算后尺寸
只能计算单行文字高度
    size为整数


IInput 输入

静态变量
说明
备注
IInput.down(bool)
鼠标 / 触摸 按下状态
只读
IInput.Tlong(bool)
鼠标 / 触摸 长按状态(大概1秒)
只读
IInput.move(bool)
鼠标 / 触摸 按下并移动中
只读
IInput.up(bool)
鼠标 / 触摸 抬起
只读
IInput.x(Number)
鼠标 / 触摸 x坐标(游戏坐标系)
只读
IInput.y(Number)
鼠标 / 触摸 y坐标(游戏坐标系)
只读
IInput.dx(Number)
鼠标 / 触摸 按下位置的x坐标(游戏坐标系)
只读
IInput.dy(Number)
鼠标 / 触摸 按下位置的y坐标(游戏坐标系)
只读
IInput.mouseButton(Number)
鼠标的按键
    0 为左键
    1 为右键
    2 为中键
只读,除PC端外,其他端值均为 0
IInput.touches(array)
多点触控的 触摸值集合
    touch 对象由 id、clientX、clientY组成
只读
IInput.BackButton(bool)
android  端 返回键是否被按下
只读,仅android端有效
IInput.HomeButton(bool)
android  端 Home键是否被按下
只读,仅android端有效
IInput.MenuButton(bool)
android  端菜单键是否被按下
只读,仅android端有效


静态函数
说明
备注
IInput.isKeyDown(code)
键盘code键是否被按下
    code(Number) 按键code
    返回值 bool是否按下
code编码为js编码
IInput.isKeyPress(code)
键盘code键是否被按住
    code(Number) 按键code
    返回值 bool是否按住
code编码为js编码



IParticle 粒子类

构造函数说明备注
IParticle(bitmaps  , num,time,type,viewport)bitmaps(array) 单个粒子位图
    num(Number) 粒子数量
    time(Number) 粒子衰弱事件
    type(Number) 粒子类型,0为区域发射,1为点发射
    viewport(IViewport) 粒子所在视窗,可缺省


属性说明备注
line(Number)发射距离type = 0 有效
dir(Number)发射方向 0上 1下 2左 3右 4左上 5右上 6左下 7右下type = 0 有效
rect(Number)发射范围type = 0 有效
radii(Number)反射半径type = 1 有效
x(Number)发射点xtype = 1 有效
y(Number)发射点ytype = 1 有效
z(Number)粒子所在图层



函数说明备注
changeParticle(bitmaps,  num, time, type, viewport)更改粒子动画
    bitmaps(array) 单个粒子位图
    num(Number) 粒子数量
    time(Number) 粒子衰弱事件
    type(Number) 粒子类型,0为区域发射,1为点发射
    viewport(IViewport) 粒子所在视窗,可缺省
dispose()释放粒子动画
play()播放一次粒子动画可不用放在状态机中循环播放
update()循环播放粒子动画需要放在场景状态机中执行


IRect 矩形
构造函数
说明
备注
IRect(l,t,r,b)
l(Number)  左位置
    t(Number)   上位置
    r(Number)   右位置
    b(Number)   下位置


属性
说明
备注
left
左侧坐标
top
上侧坐标
right
右侧坐标
bottom
下方坐标
centerX
获得中心点X坐标
只读
centerY
获得中心点Y坐标
只读
x
获取或设置x位置
y
获取或设置y位置
width
获取或设置宽度
height
获取或设置高度


函数
说明
备注
intersects(rect)
两个矩形是否相交
    rect(IRect) 要计算的另外一个矩形
    返回值 bool 是否相交
intersects(l,t,r,b)
两个矩形是否相交
    l(Number) 左位置
    t(Number)  上位置
    r(Number)  右位置
    b(Number)  下位置
    返回值 bool 是否相交
contains(rect)
两个矩形是否包含
    rect(IRect) 要计算的另外一个矩形
    返回值 bool 是否包含
contains(l,t,r,b)
两个矩形是否包含
    l(Number) 左位置
    t(Number)  上位置
    r(Number)  右位置
    b(Number)  下位置
    返回值 bool 是否包含
toPolygon()
将IRect对象转换为IPolygon对象
返回值 : IPolygon 有四个点组成的多边形对象
*V1.6.37.0226版本增加


IRWFile 文件读写


构造函数
说明
备注
IRWFile(file,type)
file  要读取的文件
    type 文件的类型,0读取2进制文件,1读取 字符串文本
字符串均为UTF-8编码


属性
说明
备注
onload(function)
文件读取完毕回调

loadText(string)
构造函数type为1情况下,读取的字符串内容


函数
说明
备注
readShort()
读取一个短整形
    返回值 Number读取到的短整形
readInt()
读取一个整形
    返回值 Number读取到的整形
readLong()
读取一个长整形
    返回值 Number读取到的长整形
readString()
读取一个字符串
    返回值 string读取到的字符串
readBool()
读取一个布尔
    返回值 bool读取到的布尔
readMS(length)
读取一个魔法字段
    length(Number) 魔法字段长度
    返回值 string读取到的魔法字段


静态属性
说明
备注
IRWFile.SaveKV(key,value)
保存内容
    key(string) 要保存的名称
    value(any) 要保存的内容
请注意要保存的对象不要循环引用,会导致json序列化失败
IRWFile.LoadKV(key)
读取内容
    key(string) 读取内容的名称

IScrollbar


构造函数
说明
备注
IScrollbar( bmp1, bmp2, value, max,viewport,bmp3,icon)
bmp1(Image)  底图
    bmp2(Image) 上图
    value(Number) 当前数值
    max(Number) 最大值
    viewport(Iviewport) 进度条所属视窗 可缺省
    bmp3(Image) 过程动画图 可缺省
    icon(Image) 图标 可缺省


属性
说明
备注
tag(any)
绑定在button上的数据

dir(Number)
进度条方向
    0 从左向右
    1 从右向左
    2 从上到下
    3 上下到上
onload(function)
设置按钮的资源读取回调函数
仅Web有效,其他端直接执行函数内容
x(Number)
设置或获得 按钮的x坐标
y(Number)
设置或获得 按钮的y坐标
z(Number)
或者或获得 按钮的图层
zoomX(Number)
或者或获得 按钮的X方向缩放率
zoomY(Number)
或者或获得 按钮的Y方向缩放率
visible(bool)
设置按钮是否可见
opacity(Number)
设置按钮的不透明度  
    取值范围0~1
width(Number)
获得按钮宽度
只读
height(Number)
获得按钮高度
只读


函数
说明
备注
setIconPoint(dx,dy)设置图标坐标
    dx(Number) 图标相对于控件的x坐标
    dy(Number) 图标相对于控件的y坐标
fade(bo,eo,frame)
设置进度条淡入淡出动画
    bo(Number) 起始不透明度
    eo(Number) 结束不透明度
fadeTo(o, frame)
设置进度条从当前不透明度起的淡入淡出动画
    o(Number) 目标不透明度
    frame(Number)帧数
slide(bx, by,ex,ey, frame)
设置进度条位移动画
    bx(Number) 起始x坐标
    by(Number) 起始y坐标
    ex(Number) 目标x坐标
    ey(Number) 目标y坐标
    frame(Number) 所需帧数
slideTo( x, y, frame)
设置进度条从当前位置到目标位置的移动动画
    x(Number) 目标x坐标
    y(Number) 目标y坐标
    frame(Number) 所需帧数
scale( bzx, bzy,ezx,ezy, frame)
设置进度条缩放动画
    bzx(Number) 起始x轴缩放率
    bzy(Number) 起始y轴缩放率
    ezx(Number) 目标x轴缩放率
    ezy(Number) 目标y轴缩放率
    frame(Number) 帧率
scaleTo( zx, zy, frame)
设置进度条从当前缩放率到目标缩放率的动画
    zx(Number) 目标x轴缩放率
    zy(Number) 目标y轴缩放率
    frame(Number) 帧率
setAction(action,args)
设置进度条动作序列
    action(action枚举)
    args(多参数) 具体动作参数
dispose()
释放按钮资源
disposeMin()
释放按钮索引资源,保留按钮图片资源
setValue(value,max)
设置进度条值
    value 当前值
    max 最大值
isClick()
是否点击该控件
    返回值 bool
touchValue()
滑动改变进度条值
此函数只在进度条没有被装进viewprot且方向为0的情况下可控
valueAnim( bValue, eValue, frames)
设置进度条从当前值到目标值的改变动画
    bValue,(Number) 起始值
    eValue,(Number) 最终值
    frame(Number) 所需帧数
valueAnimTo( eValue, frames)
设置进度条从目前值到目标值的改变动画
    eValue,(Number) 最终值
    frame(Number) 所需帧数
update()
按钮的主刷新逻辑
    返回值 Bool(按钮是否被按下)
此函数需要放进状态机中动画才能有实际效果

评分

参与人数 1金钱 +9 收起 理由
作死先锋 + 9 很给力!

查看全部评分

31

主题

304

帖子

1547

积分

管理员

iFAction缔造者

Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22

积分
1547

iFAction学院校长

 楼主| 发表于 2019-7-30 00:21:49 | 显示全部楼层
ISprite 精灵


构造函数
说明
备注
ISprite(bitmap,viewport)
bitmap(Image)  位图对象
    viewport(IViewport) 精灵所在视窗,可缺省
ISprite(bcof,viewport)
bcof(IBCof)  位图裁剪对象
    viewport(IViewport) 精灵所在视窗,可缺省
ISprite(width,height,color)
width  精灵宽
    height 精灵高
    color 精灵颜色


属性
说明
备注
x(Number)
x  坐标
y(Number)
y  坐标
z(Number)
图层
zoomX(Number)
x轴缩放率
zoomY(Number)
y轴缩放率
angle(Number)
旋转角度0~360
opacity(Number)
不透明度 0~1
visible(bool)
是否可见
mirror(bool)
是否镜像
color(IColor)
遮罩颜色
actionList(array)
动作列表
actionLoop(bool)
是否循环执行动作
tag(any)
tag对象
width(Number)
宽度
height(Number)
高度
viewport(IViewport)
所属视窗
tiling(bool)
是否开启循环贴图
开启后获得宽高将会为Rwidth、Rheight
RWidth(Number)
设置循环贴图精灵宽度,tiling为true有效
RHeight(Number)
设置循环贴图精灵高度,tiling为true有效
yy(Number)
圆心x 取值范围0~1
yx(Number)
圆心y 取值范围0~1
speedX(Number)
x方向速度
speedY(Number)
y  方向速度
aSpeedX(Number)
x方向加速度
aSpeedY(Number)
y方向加速度
onload(function)
精灵读取完毕回调
blendType(number)
精灵色彩混合模式
值为0 正常模式
值为1 加法混合
值为2 减法混合
此属性在web端无效

*V1.6.37.0226版本增加


函数
说明
备注
endAction()
清空动作列表
isAnim()
是否有动画在执行
pauseAnim()
在当前情况下停止动画
pause()
暂停动画
restart()
重开动画
isPause()
是否暂停动画
stopAnim()
在目标位置处停止动画
fade(bo,eo,frame)
设置淡入淡出动画
    bo(Number) 起始不透明度
    eo(Number) 结束不透明度
fadeTo(o, frame)
设置当前不透明度起的淡入淡出动画
    o(Number) 目标不透明度
    frame(Number)帧数
slide(bx, by,ex,ey, frame)
设置位移动画
    bx(Number) 起始x坐标
    by(Number) 起始y坐标
    ex(Number) 目标x坐标
    ey(Number) 目标y坐标
    frame(Number) 所需帧数
slideTo( x, y, frame)
设置从当前位置到目标位置的移动动画
    x(Number) 目标x坐标
    y(Number) 目标y坐标
    frame(Number) 所需帧数
scale( bzx, bzy,ezx,ezy, frame)
设置缩放动画
    bzx(Number) 起始x轴缩放率
    bzy(Number) 起始y轴缩放率
    ezx(Number) 目标x轴缩放率
    ezy(Number) 目标y轴缩放率
    frame(Number) 帧率
scaleTo( zx, zy, frame)
设置从当前缩放率到目标缩放率的动画
    zx(Number) 目标x轴缩放率
    zy(Number) 目标y轴缩放率
    frame(Number) 帧率
startRotate(speed)
设置循环旋转
    speed(Number)旋转速度
stopRotate()
停止循环旋转
rotate(bAngle, eAngle, frames)
设置从起始值到结束值的旋转动画
    bAngle(Number) 起始角度
    eAngle(Number) 结束角度
    frames 帧数
rotateTo(eAngle, frames)
设置从当前值到结束值的旋转动画
    eAngle(Number) 结束角度
    frames 帧数
flash(color, frames)
闪烁
    color(Icolor) 闪烁颜色
    frames(Number) 帧数
addAction(action,args)
设置action动作
    action action枚举
    args 对应参数
setOnEndSlide(e)
设置位移动画结束后的回调
    e(function) 回调函数
setOnEndFade(e)
设置淡入淡出动画结束后的回调
    e(function) 回调函数
setOnEndScale(e)
设置缩放动画结束后的回调
    e(function) 回调函数
setOnEndRotae(e)
设置旋转动画结束后的回调
    e(function) 回调函数
setOnEndFlash(e)
设置闪烁动画结束后的回调
    e(function) 回调函数
setOnEndActionOne(e)
设置Action队列每完成一条后的回调
    e(function) 回调函数
setOnEndAction(e)
设置Action动画队列全部执行完后的回调
    e(function) 回调函数
setOnEndWait(e)
设置等待结束后的回调
    e(function) 回调函数
clearBitmap()
清理精灵绑定位图的全部内容
setXY(x,y)
设置x,y坐标
    x(Number) x坐标
    y(Number) y坐标
isSelect(x,y)
在x,y点精灵是否被选中
    x(Number) 要判定的x点
    y(Number) 要判定的y点
isSelected()
精灵是否被鼠标/触摸 选到
isSelectTouch()
精灵是否在多点触控的情况被选择到
drawRect(rect,color)
绘制矩形
    rect(IRect)   绘制的矩形对象
    color(IColor) 填充颜色
drawTextQ(str,x,y,color,size)
绘制文字(高效)
    str(string) 要绘制的文字
    x(Number) 相对于精灵的x坐标
    y(Number) 相对于精灵y坐标
drawText(str,x,y,type,wcolor,isAutoL,lineSize)
绘制文字(支持转译)
    str(string) 要绘制的文字
    x(Number) 相对于精灵的x坐标
    y(Number) 相对于精灵y坐标
    type(Number) 效果模式,0无效果,1投影,2描边
drawBitmap(bmp,x,y,isDispose)
绘制位图
    bmp(Image) 要绘制的位图对象
    x(Number) 相对于精灵的x坐标
    y(Number) 相对于精灵的y坐标
    isDispose(bool) 绘制完毕后是否释放bmp对象
drawBitmapRect(bmp,rect,isDispose)
将位图绘制到指定的rect区域
    bmp(Image) 要绘制的位图对象
    rect(IRect) 绘制区域,坐标相对于精灵
    isDispose(bool) 绘制完毕后是否释放bmp对象
drawBitmapBCof(x,y,bcof,isDispose)
绘制裁剪位图对象
    x(Number) 相对于精灵的x坐标
    y(Number) 相对于精灵的y坐标
    bcof(BCof) 要绘制的裁剪位图对象
    isDispose(bool) 绘制完毕后释放释放 bcof对象
getBitmap()
获得绑定在精灵上的位图对象
    返回值 Image
dispose()
释放精灵对象
disposeMin()
释放精灵索引,不释放精灵绑定的位图对象
disposeBitmap()
释放精灵上绑定的位图对象,不释放精灵索引
setBCof(bcof)
为精灵设置剪切位图
    bcof(BCof)
getBCof()
获得精灵上设置的剪切位图对象
setBitmap(bitmap)
为精灵重新绑定位图对象
GetRect()
获得精灵的矩形对象
    返回值 IRect
update()
精灵刷新
此函数不用写在状态机中
GetPolygonRect()
获得以IPolygon对象形式的多边形矩形
返回值:IPolygon得到的多边形
*V1.6.37.0226版本增加
drawLine(line,color,lineWidth)
绘制线段
line(ILine):要绘制的ILine对象
color(IColor):绘制线段的颜色
lineWidth(number):线段的宽度
*V1.6.37.0226版本增加
drawPolygon(polygon,color1,color2,lineWidth)
绘制多边形
polygon(IPolygon):要绘制的多边形
color1:绘制多边形的填充颜色
color2:绘制多边形的描边颜色
lineWidth:描边宽度
*V1.6.37.0226版本增加


附录·AddAction参数与对应函数(AddAction 可以让动画按顺序执行,而不是同时执行)

action参数
args参数
等同于函数
action.fade
Number,Number,Number
fade(bo,eo,frame)
action.fade
Number,Number
fadeTo(o,  frame)
action.move
Number,Number,Number,Number,Number
slide(bx,  by,ex,ey, frame)
action.move
Number,Number,Number
slideTo(  x, y, frame)
action.zoom
Number,Number,Number,Number,Number
scale(  bzx, bzy,ezx,ezy, frame)
action.zoom
Number,Number,Number
scaleTo(  zx, zy, frame)
action.rotate
Number,Number,Number
rotate(bAngle,  eAngle, frames)
action.rotate
Number,Number
rotateTo(eAngle,  frames)
action.wait
Number
/




附录:drawText 转译


转译符
功能
范例
\n
转行
\n
\c[r,g,b]
更换颜色为r,g,b
\c[255,0,0]
\s[size]
更换尺寸为size
\s[20]
\b[path]
在文字绘制位置绘制一张位图
\b[Graphics/Icon/buff_1.png]




IViewprot 视窗
构造函数
说明
备注
IViewport(x,y,w,h,viewport)
x坐标
    y坐标
    w宽度
    h高度
    viewport 所包含的视窗 可缺省




属性
说明
备注
x(Number)
x  坐标
y(Number)
y  坐标
z(Number)
图层
zoomX(Number)
x轴缩放率
zoomY(Number)
y轴缩放率
opacity(Number)
不透明度 0~1
visible(bool)
是否可见
actionList(array)
动作列表
actionLoop(bool)
是否循环执行动作
tag(any)
tag对象
dir(IViewport.Dir)
视窗拖住的方向
        IViewport.Dir.All全方向拖动
         IViewport.Dir.Horizontal  横向
        IViewport.Dir.None不能拖动
        IViewport.Dir.Vertical纵向
isAutoMove(bool)
开启拖拽结束后的回弹
type(IViewport.Type)
设置视窗类型
    IViewport.Type.Rectangle 矩形视窗
    IViewport.Type.Round 圆形视窗
radius(Number)
当圆形视窗下有效,设置视窗的半径
width(Number)
矩形视窗下有效,设置视窗的宽度
height(Number)
矩形视窗下有效,设置视窗的高度
ox(Number)
视窗内容的偏移x坐标
oy(Number)
视窗内容的偏移y坐标



函数
说明
备注
pauseAnim()
在当前情况下停止动画
pause()
暂停动画
restart()
重开动画
isPause()
是否暂停动画
stopAnim()
在目标位置处停止动画
fade(bo,eo,frame)
设置淡入淡出动画
    bo(Number) 起始不透明度
    eo(Number) 结束不透明度
fadeTo(o, frame)
设置当前不透明度起的淡入淡出动画
    o(Number) 目标不透明度
    frame(Number)帧数
slide(bx, by,ex,ey, frame)
设置位移动画
    bx(Number) 起始x坐标
    by(Number) 起始y坐标
    ex(Number) 目标x坐标
    ey(Number) 目标y坐标
    frame(Number) 所需帧数
slideTo( x, y, frame)
设置从当前位置到目标位置的移动动画
    x(Number) 目标x坐标
    y(Number) 目标y坐标
    frame(Number) 所需帧数
scale( bzx, bzy,ezx,ezy, frame)
设置缩放动画
    bzx(Number) 起始x轴缩放率
    bzy(Number) 起始y轴缩放率
    ezx(Number) 目标x轴缩放率
    ezy(Number) 目标y轴缩放率
    frame(Number) 帧数
scaleTo( zx, zy, frame)
设置从当前缩放率到目标缩放率的动画
    zx(Number) 目标x轴缩放率
    zy(Number) 目标y轴缩放率
    frame(Number) 帧数
shifting(bOX,bOY,eOX,eOY,frames)
设置当前内容偏移位置到目标偏移的动画
    bOX(Number) 起始偏移ox位置
    bOY(Number) 起始偏移oy位置
    eOX(Number) 终点ox位置
    eOY(Number) 终点oy位置
    frame(Number) 帧数
shiftingTo(eOX,eOY,frames)
设置当前当前偏移位置到目标偏移的动画
    eOX(Number) 终点ox位置
    eOY(Number) 终点oy位置
    frame(Number) 帧数
GetRect()
获得视窗尺寸与坐标所对应的rect对象
    返回值IRect
update()
视窗刷新
此函数不需要在状态机中执行
updateMove()
更新拖拽的回弹动作
    返回值 bool 视窗是否正在被拖动
如果设置了视窗的拖动,请将此函数在状态中执行


IWeb (网络常用接口)


静态函数
说明
备注
IWeb.getUrl(url)
发起HTTP GET请求
url (string)要请求的页面地址

返回值 string 页面的请求结果





IDll (加载外部DLL 处理类,仅PC端)

构造函数
说明
备注
IDll(path);
path 相对路径的Dll文件
仅支持.Net框架Dll,如果想要扩展C++或C类库,可以使用.Net Dll做桥接,再引用C++或C Dll即可。

函数
说明
备注
doStaticFunction(namespace,fname,parameter)
执行DLL静态函数
namespace (string)静态函数所在命名空间
fname (string) 函数名称
parameter (array) 参数
creatObj(namespace)创建DLL中的实例对象
namespace (string)class所在命名空间

返回值 IDLLObject()

IDLLObject(DLL实例类,仅PC端)
函数
说明
备注
doFunction(fname,ftypes,parameter)
执行DLL静态函数
fname (string) 方法名
ftypes (string) 参数类型,使用"|"分割类型 如"System.Int32|System.String"
parameter (array) 参数


IVal iF2D静态变量


静态变量
说明
备注
IVal.FPS
游戏帧率
只读
IVal.Gwidth
游戏宽度
只读
IVal.Gheight
游戏高度
只读
IVal.scene
游戏当前运行的scene
IVal.FontColor
游戏默认颜色
只在iFActionGameStart设置有效
IVal.FontSize
游戏默认字号
只在iFActionGameStart设置有效
IVal.DEBUG
测试开关
IVal.Platform
运行平台
IVal.Mods
读取MOD所用的基本类,可使用 IVal.Mods.findMod("key")来读取已经加载MOD


31

主题

304

帖子

1547

积分

管理员

iFAction缔造者

Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22

积分
1547

iFAction学院校长

 楼主| 发表于 2019-7-30 00:57:36 | 显示全部楼层
底层通用函数


函数
说明
备注
log(obj)
在控制台打印对应内容
    obj(any) 要打印的内容
rand(s,e)
选取s,到e之间的随机数
     s(Number)  起始值
    e(Number) 终止值
取值范围:[s,e)
setWindowStatus(type)
设置窗口状态
    type(Number) 为0设置为窗口,为1设置为全屏
gameClose()
关闭游戏
IsPC()
是否运行在PC上
    返回值bool
部分情况,如Web和PC端起始基本是一致的,但是Web又有可能是在手机上运行的,所以采用了这样的函数做复合判定




*未来有新增的情况,首先会在这里更新,如果有疑问,或者有bug可以直接点评本帖或在论坛投诉区/官方Q群进行说明。

点评

加油  发表于 2021-4-7 10:42

评分

参与人数 1金钱 +1 收起 理由
作死先锋 + 1 很给力!

查看全部评分

FEI

60

主题

331

帖子

1913

积分

管理员

Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22

积分
1913
发表于 2021-2-25 11:12:47 | 显示全部楼层
*V1.6.37.0226版本增加


IPoint 点


构造函数
说明
备注
IPoint(x,y)
x(number): x坐标
y(number): y坐标


属性
说明
备注
x(number)
x(number): x坐标
y(number)
y(number): y坐标


静态函数
说明
备注
IPoint.pointInPolygon(point, vs)
判断一个点是否在一个多边形内
参数
point(IPoint) : 要判定的点
vs(array[IPoint]) : 多边形点集合数组(注意不是IPolygon对象,是IPolygon.points)

返回值 bool 是否在多边形内
IPoint.pointInPolygonXY(x,y, vs)
判断一个点是否在一个多边形内
参数
x(number): x坐标
y(number):y 坐标
vs(array[IPoint]) : 多边形点集合数组(注意不是IPolygon对象,是IPolygon.points)

返回值 bool 是否在多边形内




ILine 线

构造函数
说明
备注
ILine()
无参数的构造函数,可以生成起始点为0,0 终点1,1的线段

ILine(x1,y1,x2,y2)
x1(number):起始点x坐标
y1(number):起始点 y坐标
x2(number):终点 x坐标
y2(number):终点 y坐标

ILine(p1,p2)
p1(IPoint):起点
p2(IPont):终点


静态函数
说明
备注
ILine.IsSegmentsIntersectant(lineA,lineB)
判断两线段是否相交

参数:
lineA(ILine):线段1
lineB(ILine):线段2

返回值:bool 是否相交





IPolygon 多边形


构造函数
说明
备注
IPolygon()
创建多边形框架,无任何点
IPolygon(points)
创建点集合多边形
points(array[IPoints]):点集合


函数
说明
备注
addPoint(point)
为多边形点集合增加一个点,新增加的点将位于末尾
point(IPoint):要新增加的点
insertPoint(index,point)
为多边形点集合在index位置插入一个点
index(number):要插入的位置
point(IPoint):要插入的点
delPoint(index)
删除index位置的点
index(number):要删除的位置


静态函数
说明
备注
IPolygon.isPolygonsOverlap(plA,plB)
判断两多边形是否相交
plA(IPolygon):多边形1
plB(IPolygon):多边形2
返回值:bool 是否相交

*更新时间:2021.2.25


FEI

60

主题

331

帖子

1913

积分

管理员

Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22Rank: 22

积分
1913
发表于 2021-3-5 20:11:52 | 显示全部楼层
*V1.6.38.0309版本增加


ISocket 通讯(仅Window端可用)



属性
说明
备注
buffSize(Number)
缓存区大小默认8kb
isServer(Bool)
是否是服务端
只读
status(Number)
当前状态
0 未开启
1 正在通讯
只读


函数
说明
备注
startServerSocket(ip,port)
将Socket以服务端状态启动
ip(string): ip地址 IPV4格式
port(Number): 端口 0~65535
startClientSocket(ip,port)
将Socket以客户端端状态启动
ip(string): ip地址 IPV4格式
port(Number): 端口 0~65535
closeSocket()
关闭已开启的socket
若关闭服务端,且客户端仍有连接,会造成服务端程序闪退
disconnect(key)
关闭以连接至服务端的socket(仅服务端使用)
key(string):要关闭的客户端key值
sendToServer(type,tokey,args,msg)
发送消息(仅客户端)
type(Number):消息类型 0 广播消息 1私有消息
tokey(string):要发送的指定key
args(string):参数
msg(string):内容
tokey在 type为0时无效
sendToClient(tokey,type,fkey,args,msg)
发送消息给指定客户端(仅服务端)
tokey(string):要发送客户端的key值
type(Number):消息类型 0系统消息 1 客户端转发消息
fkey(string):消息来源客户端key值
args(string):参数
msg(string):内容
sendToAllClient(type,fkey,args,msg)
广播消息给全部客户端(仅服务端)
type(Number):消息类型 0系统消息 1客户端转发
fkey(string):消息来源客户端key值
args(string):参数
msg(string):内容
getClientsKeys()
获得连接至服务端的所有客户端key值(仅服务端)
返回值 args[string]
setCallMessage(func)
设置消息回调,每次接收到客户端(服务端)消息自动执行对应函数
func(string):回调函数名
如果函数为
getMessage( type,  fkey,  args1,  args2)
那么参数填写"getMessage" (字符串) 即可
函数规范:
function 函数名( type,  fkey,  args1,  args2)


静态函数
说明
备注
ISocket.GetLocalIpAddress()
获得本机IP地址
返回值 args[string]
推荐使用数组最后一个值作为本机ip

ISocket.EnumComputers(port,func)
搜索局域网内开放指定端口的全部计算机

port(Number):端口号
func(string):回调函数
如果函数为
getIP(ip,port)
那么参数填写"getIP"(字符串)即可
函数规范

function 函数名(ip,port)

ISocket.AddRuleForInbound(name,msg,filename,ip,port)
为计算机增加一条进站规则(需要管理员权限)

name(string):进站规则名称
msg(string):进站规则内容
filename(string):要通过的exe文件名(相对于游戏工程地址)
ip(string):容许进站的ip地址
port(strng):容许进站的端口
ip如果需要全部容许,填写""即可


范例代码:

  1. function SText(){
  2.     var socket = new ISocket();
  3.     socket.setCallMessage("IVal.scene.getMessage")
  4.    
  5.     var sp1 = new ISprite(150,30,IColor.Red());
  6.     sp1.drawTextQ("成为服务端",10,10,IColor.Blue(),18);
  7.    
  8.     var sp2 = new ISprite(150,30,IColor.Red());
  9.     sp2.drawTextQ("成为客户端",10,10,IColor.Blue(),18);
  10.     sp2.y = 40;
  11.    
  12.     var sp3 = new ISprite(150,30,IColor.Red());
  13.     sp3.drawTextQ("发送消息",10,10,IColor.Blue(),18);
  14.     sp3.y = 80;
  15.    
  16.     this.update = function(){
  17.         if(sp1.isSelected() && IInput.up){
  18.             IInput.up = false;
  19.             gameInput("创建服务端","请输入IP","127.0.0.1",function(text){
  20.                           socket.startServerSocket(text,31882);
  21.                       });
  22.         }
  23.         
  24.         if(sp2.isSelected() && IInput.up){
  25.             IInput.up = false;
  26.             gameInput("连接服务端","请输入IP","127.0.0.1",function(text){
  27.                           socket.startClientSocket(text,31882);
  28.                       });
  29.         }
  30.         if(sp3.isSelected() && IInput.up){
  31.             IInput.up = false;
  32.             gameInput("发送消息","发送内容","",function(text){
  33.                           socket.sendToServer(0,"","测试",text);
  34.                       });
  35.         }
  36.     }
  37.    
  38.     this.getMessage = function( type,  fkey,  args1,  args2){
  39.         if(type == 0){//系统消息
  40.             if(args1 == "S_NC"){//有新用户连接至socket,系统保留
  41.                 log("client key:" + args2)
  42.             }else if(args1 == "S_K"){ //当前客户端已连接至服务端,系统保留
  43.                 log("self key:" + args2);
  44.             }else if(args1 == "S_DC"){//房间内有人掉线了,系统保留
  45.             }
  46.         }
  47.         log(type + "," + fkey + "," + args1 + "," + args2);
  48.     }
  49.    
  50. }
复制代码




*更新时间:2021.3.5



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们
QQ群:977585123
iFAction下载
Windows客户端
反馈
意见建议
iFAction

iFAction

京ICP备15053274号-1

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.