我正在开发一个专有游戏项目,我正在将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中的等效方法是什么?我正在努力寻找能够发挥同等作用的任何事情。谢谢。
答案 0 :(得分:1)
根据ElectroServer 5 manual, "Client API at a glance"(link to the entire manual),您需要使用以下内容:
PublicMessageRequest/PublicMessageEvent
- 用于向房间发送消息并接收消息。PrivateMessageRequest/PrivateMessageEvent
- 用于直接向一个或多个用户发送邮件并接收邮件。您可以尝试将sendMove
重写为将使用适当的公共或私人消息发送功能的函数。 moveReceived
功能代码应分为两个分支,一个用于私有,一个用于公共消息。