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

站内搜索

搜索
热搜: 活动 交友 discuz

iFAction 世界需要你的想象力!

iFAction V1.6.38.0309 更新公告

FEI

60

主题

331

帖子

1913

积分

管理员

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

积分
1913
发表于 2021-3-9 22:07:12 | 显示全部楼层 |阅读模式
更新时间:2021年3月9日
软件更新方法:重新下载客户端
旧工程更新方法:
1.若您是V1.5.27.0605版本之后建的工程/已升级过的工程,点击脚本编辑器左下角的“恢复为默认脚本”即可账号状态如果为未订阅,脚本暂时无法更新,需要重建工程才能更新到最新版
2.若您是V1.5.27.0605版本之前建的工程并且未升级工程,不能通过更新脚本达到最新版本,只能先将工程升级才能更新脚本。(旧工程升级后无法回退版本,若您的工程改动较大建议提前备份!!!



【V1.6.38.0309】 更新日志


工具侧
暂无
>>>>>>>>>>>>>>>>>>>>


游戏侧*旧工程游戏侧BUG需要工具内恢复默认脚本才可修复,具体教程 -> 点我去看
暂无
>>>>>>>>>>>>>>>>>>>>


脚本更新列表:
暂无
>>>>>>>>>>>>>>>>>>>>

if2d底层:详情见文档→点我去看
1、新增ISocket 对象(仅适用于Windows端)

>>>>>>>>>>>>>>>>>>>>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.     var sp1 = new ISprite(150,30,IColor.Red());
  5.     sp1.drawTextQ("成为服务端",10,10,IColor.Blue(),18);

  6.     var sp2 = new ISprite(150,30,IColor.Red());
  7.     sp2.drawTextQ("成为客户端",10,10,IColor.Blue(),18);
  8.     sp2.y = 40;

  9.     var sp3 = new ISprite(150,30,IColor.Red());
  10.     sp3.drawTextQ("发送消息",10,10,IColor.Blue(),18);
  11.     sp3.y = 80;

  12.     this.update = function(){
  13.         if(sp1.isSelected() && IInput.up){
  14.             IInput.up = false;
  15.             gameInput("创建服务端","请输入IP","127.0.0.1",function(text){
  16.                           socket.startServerSocket(text,31882);
  17.                       });
  18.         }

  19.         if(sp2.isSelected() && IInput.up){
  20.             IInput.up = false;
  21.             gameInput("连接服务端","请输入IP","127.0.0.1",function(text){
  22.                           socket.startClientSocket(text,31882);
  23.                       });
  24.         }
  25.         if(sp3.isSelected() && IInput.up){
  26.             IInput.up = false;
  27.             gameInput("发送消息","发送内容","",function(text){
  28.                           socket.sendToServer(0,"","测试",text);
  29.                       });
  30.         }
  31.     }

  32.     this.getMessage = function( type,  fkey,  args1,  args2){
  33.         if(type == 0){//系统消息
  34.             if(args1 == "S_NC"){//有新用户连接至socket,系统保留
  35.                 log("client key:" + args2)
  36.             }else if(args1 == "S_K"){ //当前客户端已连接至服务端,系统保留
  37.                 log("self key:" + args2);
  38.             }else if(args1 == "S_DC"){//房间内有人掉线了,系统保留
  39.             }
  40.         }
  41.         log(type + "," + fkey + "," + args1 + "," + args2);
  42.     }

  43. }
复制代码


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

本版积分规则

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

iFAction

京ICP备15053274号-1

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