相当于ElectroServer 5中的moveReceived

时间:2014-03-21 00:42:52

标签: actionscript-3 actionscript

我正在开发一个专有游戏项目,我正在将ActionScript 1中的遗留代码更新为ActionScript 3.特别是,前一次迭代中的许多游戏代码都是使用ElectroServer API方法MoveReceived实现的。 API为此方法提供以下描述:

moveReceived:

状况

Flash Player 6。

用法

ElectroServer.moveReceived(类型,对象,从)

参数

输入" public"或者"私人" (对象)

object发送给您的对象(对象)

from发送移动的用户名(对象)

返回

没有

描述

收到移动时触发事件。您可以使用sendMove和moveRecieved发送和接收实际的ActionScript对象。这使得创建多人游戏变得更加简单。

实施例

以下是一个可以在角色可以跳跃和射击的游戏中看到的移动示例。

function moveReceived(type:String, ob:Object, from:String) {
if (type == "private") {
var action:String = ob.action;
    if (action == "shoot") {
    var x:Number = ob.x;
    var y:Number = ob.y;
    var angle:Number = ob.angle;
    var speed:Number = ob.speed;
    createProjectile(x, y, angle, speed);
    } 
    else if (action == "jump") {
    makeOpponentJump();
    }
}
}
es.moveReceived = moveReceived;

有谁知道ElectroServer 5的ActionScript 3 API中的等效方法是什么?我正在努力寻找能够发挥同等作用的任何事情。谢谢。

1 个答案:

答案 0 :(得分:1)

根据ElectroServer 5 manual, "Client API at a glance"link to the entire manual),您需要使用以下内容:

  • PublicMessageRequest/PublicMessageEvent - 用于向房间发送消息并接收消息。
  • PrivateMessageRequest/PrivateMessageEvent - 用于直接向一个或多个用户发送邮件并接收邮件。

您可以尝试将sendMove重写为将使用适当的公共或私人消息发送功能的函数。 moveReceived功能代码应分为两个分支,一个用于私有,一个用于公共消息。