`
zccst
  • 浏览: 3314949 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

egret与服务器端通信(get/post)

阅读更多
作者:zccst
构建通信请求

五个类:
URLRequest, URLLoader, URLLoaderDataFormat, URLRequestMethod, URLVariables


一、最简单的通信请求
URLLoader对象负责网络的连接状态操作,同时负责接收网络回传的数据。
URLRequest对象负责网络通信数据

创建最简单通信请求我们需要使用URLLoader和URLRequest两个类。
private urlloader:egret.URLLoader;
this.urlloader = new egret.URLLoader();

private urlreq:egret.URLRequest;
this.urlreq = new egret.URLRequest();
urlreq.url = "http://httpbin.org/user-agent";

this.urlloader.load( urlreq );


this.urlloader.addEventListener(egret.Event.COMPLETE, this.onComplete, this);
private onComplete(event:egret.Event):void{
console.log(this.urlloader.data);
}


二、读取不同数据格式  URLLoaderDataFormat
在Egret中,我们提供了五种可用的数据格式,分别是:
(1) 二进制格式     BINARY
(2) 文本格式       TEXT
(3) URL编码格式    VARIABLES
(4) 位图纹理格式   TEXTURE
(5) 音频格式。     SOUND
以上五种数据格式的设置均需要 URLLoaderDataFormat 类。如果想更改默认的文本格式,可以修改 URLLoader 中的 dataFormat 属性。

this.urlloader.dataFormat = egret.URLLoaderDataFormat.VARIABLES;



三、POST与GET URLRequestMethod
this.urlreq.method = egret.URLRequestMethod.POST;


四、发送带参数的请求  URLVariables

一般来说,向服务器提交数据实际上总是包含两个步骤,提交数据与读取返回信息。

提交的数据放入 URLRequest 对象的 data 属性值,并通过 URLRequest 对象提交。
读取服务器端脚本返回的数据

(1)向服务器发参数
this.urlreq.data = new egret.URLVariables("test=ok");
(2)从服务器端取数据
在回调函数onPostComplete方法里:
var loader:egret.URLLoader = <egret.URLLoader>event.target;
var data:event.URLVariables = loader.data;
console.log(data.toString);


如果您觉得本文的内容对您的学习有所帮助,您可以微信:
分享到:
评论

相关推荐

    egret 下拉框的制作

    在本文中,我们将深入探讨如何在Egret游戏引擎中创建一个下拉框。Egret是一个基于TypeScript的2D游戏开发框架,它提供了一套完整的开发工具链,包括编辑器、编译器和运行时环境,适用于移动和桌面平台。 首先,我们...

    通过zip压缩实现Egret微端文件快速传输-必要文件

    在服务器端,可以使用Node.js的` adm-zip `库,或者在客户端直接利用`jszip`的API。 2. **创建`indexZip.html`**:这个文件是微端的启动点,它包含了`jszip`库的引用和解压zip文件的代码。`indexZip.html`会通过...

    白鹭Egret生态大会邀请函源码分享

    页面https://bbs.egret.com/data/attachment/forum/201612/16/171055lfnzludpodg4oovl.jpg 动态效果图 https://bbs.egret.com/data/attachment/forum/201612/16/160027a9ornovkktn9dk58.gif

    Zhang-JiaYi-0322#egret-coder#开发者须知1

    需要同步github项目和gitlab项目需要同步更新官网中的本地文件:egret-engine2d/static/img/docs/installation/

    Websocek笔记二egret工程源代码

    这个项目可能包含了服务器端和客户端的代码,展示了如何定义协议、序列化和反序列化数据,以及如何通过Websocket进行数据交换。 5. 实现步骤: - 定义协议:定义用于传输的数据结构,通常会包括消息类型、数据长度...

    egret-core egret 官方示例代码

    4. **舞台与显示对象**:Egret 中的舞台是所有内容的容器,而显示对象(如Sprite、Bitmap等)是舞台上可以被显示的基本元素,它们可以嵌套组成复杂的场景结构。 5. **资源管理**:Egret 提供了资源加载和管理功能,...

    egret小游戏示例

    Egret小游戏示例是基于白鹭引擎(Egret Engine)开发的一款互动娱乐项目,它为初学者提供了深入了解和学习Egret游戏开发的良好实践。Egret引擎是一款广泛使用的HTML5游戏开发工具,它支持2D游戏制作,并且能够跨平台...

    Egret引擎开发指南之运行项目

    这是一个令人兴奋的小结,因为在这个小结中你终于能够看到你的第一个Demo的运行效果。 1.使用Egret工具运行游戏 运行Egret项目,我们需要一个已运行的HTTP...这个命令中egret startserver为启动egret内部服务器的命

    Egret官网声音项目

    var audioSound: egret.Sound = RES.getRes("myAudio"); ``` `myAudio`是音频资源在资源配置中的名称。 4. **播放音频**:使用`Sound`对象的`play`方法播放音频,可以设置播放次数和是否循环。 ```javascript ...

    Egret Engine游戏框架 v5.4.1.zip

    Egret Engine的核心组件(egret-core)是框架的基础,它提供了渲染引擎、事件系统、资源管理器、时间轴控制、网络通信等基础功能。开发者可以使用这些工具构建游戏逻辑,实现游戏的图形渲染和交互处理。 2. **源码...

    Egret Html开发指南源码

    5. **发布与部署**:最终将编译后的文件上传到服务器,用户可以通过浏览器访问和玩你的游戏。 四、Egret关键特性 - **2D渲染**:Egret提供高效的2D渲染引擎,支持位图、矢量图、粒子效果等。 - **动画系统**:基于...

    Egret 引擎学习资料

    Egret的工作流包括项目创建、资源管理、代码编写、编译与预览等步骤,掌握这些流程能让你高效地进行游戏开发。 在游戏开发过程中,Egret引擎提供了丰富的图形绘制和动画制作工具。例如,你可以利用Egret的Sprite...

    Egret 消消乐

    8. **网络通信**:如果游戏包含排行榜或社交功能,Egret的网络模块可以帮助开发者实现与服务器的通信,上传和下载游戏数据。 通过分析《Egret 消消乐》,我们可以看到Egret引擎在游戏开发中的强大应用,同时也揭示...

    好友聊天demo(egret)

    同时,需要实现数据通信,可能通过WebSocket或HTTP长轮询等方式,将客户端与服务器进行实时交互。 3. **UI界面构建**:Egret提供了强大的图形渲染能力,可以使用SpriteSheet、BitmapFont等资源创建用户界面。...

    22_游戏egret_

    - **网络通信**:如果游戏需要在线功能,开发者可以利用 Egret 的 HTTP 请求接口与服务器进行数据交换,实现多人游戏或云存档等功能。 综上所述,"22_游戏egret" 项目展示了 Egret 框架在开发 2D 游戏时的应用,从...

    egret-core-1.0_rc2

    - **网络通信**:提供了HTTP和WebSocket接口,方便游戏与服务器进行数据交互。 3. **TypeScript支持**: Egret引擎鼓励使用TypeScript进行开发,因为它提供了静态类型检查,有助于防止运行时错误,并提高代码可...

    Egret手势识别库egret_gesture-master.zip

    本库旨在为Egret封装常用的手势操作,因本人能力有限,有的实现并不完善,欢迎批评指正。Egret手势识别库egret_gesture目前已实现的手势: 1. Tap(点一下) 2. Double Tap (双击) 3. Pinch(二指往內或往外拨动,平时...

    egret切换场景渐黑动画

    egret.Tween.get(blackLayer).to({ alpha: 1 }, 500).call(() =&gt; { // 这里切换场景 egret.Event.dispatchEvent(this, "switchScene", false); }); // 在新的场景加载后,反向执行动画 egret.Event....

    egret工具:事件监听管理器

    var timer: egret.Timer = new egret.Timer(50); BC.addEvent(this, timer, egret.TimerEvent.TIMER, this.onEnterTimer); timer.start(); } /** * dispatchSprite的帧事件 */ public onEnterFrame(event:...

    Egret黄金矿工源码

    Socket连接是网络游戏的基础,它让游戏客户端与服务器之间可以实时交换数据。在Egret黄金矿工中,socket连接被用于玩家的动作同步,例如矿工的抓钩移动和物品的掉落,确保所有玩家看到的是同一游戏状态。通讯协议的...

Global site tag (gtag.js) - Google Analytics