HTTP 请求与响应:

    private createGameScene():void {
//HTTP 1.0
var request = new egret.HttpRequest();
request.responseType = egret.HttpResponseType.TEXT;  //请求二进制数据则用 HttpResponse.ARRAY_BUFFER //http 测试服务器 + Get 方式
request.open("http://httpbin.org/post",egret.HttpMethod.POST); // get 方法:request.open("http://httpbin.org/get",egret.HttpMethod.GET);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.send(); //如果是带有参数的请求:get - url + ? + key1=value1&key2=value2; post - send(key1=value1&key2=value2);
request.addEventListener(egret.Event.COMPLETE, this.onGetComplete, this);
request.addEventListener(egret.IOErrorEvent.IO_ERROR, this.onGetIOError, this);
request.addEventListener(egret.ProgressEvent.PROGRESS, this.onGetProgress, this);
} private onGetComplete(event:egret.Event):void {
var request = <egret.HttpRequest>event.currentTarget;
console.log("get data : ",request.response);
var responseLabel = new egret.TextField();
responseLabel.size = 18;
responseLabel.text = "GET response: \n" + request.response.substring(0, 50) + "...";
this.addChild(responseLabel);
responseLabel.x = 50;
responseLabel.y = 70;
} private onGetIOError(event:egret.IOErrorEvent):void {
console.log("get error : " + event);
} private onGetProgress(event:egret.ProgressEvent):void {
console.log("get progress : " + Math.floor(100*event.bytesLoaded/event.bytesTotal) + "%");
}

跨域加载位图:

  在本地搭建了一个 IIS 站点用来当资源站。

    private createGameScene():void {
var imgLoader:egret.ImageLoader = new egret.ImageLoader();
imgLoader.once(egret.Event.COMPLETE, this.imgLoadHandler, this);
imgLoader.load("http://127.0.0.1/hero1.png");
} private imgLoadHandler(evt:egret.Event):void
{
var Loader:egret.ImageLoader = evt.currentTarget;
var bmData:egret.BitmapData = Loader.data;  //应该默认是以二进制数据来传输
var bMap:egret.Bitmap = new egret.Bitmap(bmData);
this.addChild(bMap);
}

  但是在 WebGL 运行 createTexture 时报错,egret 教程上也说暂时不支持 WebGL?

跨域加载文件:

    private createGameScene():void {
//代码与普通请求完全相同
var url = "http://127.0.0.1/test.txt"; //IIS的MIME不支持教程的 json 格式,改成 txt 后浏览器才可访问,但js仍不可访问
var request:egret.HttpRequest = new egret.HttpRequest();
request.once(egret.Event.COMPLETE, this.resLoadHandler, this);
request.once(egret.IOErrorEvent.IO_ERROR, this.resLoadHandler, this);
request.once(egret.ProgressEvent.PROGRESS, this.progressLoadHandler, this);
request.open(url, egret.HttpMethod.GET);
request.send(); //js 的跨域问题..
} private resLoadHandler(evt:egret.Event):void{
switch(evt.type){
case egret.Event.COMPLETE:
var request:egret.HttpRequest = evt.currentTarget;
console.log("resLoadHandler: ", request.response);
break;
case egret.IOErrorEvent.IO_ERROR:
console.log("resLoadHandler io error.");
break;
}
} private progressLoadHandler( evt:egret.ProgressEvent):void{
console.log("progress:", + Math.floor(100 * evt.bytesLoaded / evt.bytesTotal) + "%");
}

  这里没有指定 ResponseType,等搞定了跨域问题要回来验证一下。

Egret HTTP网络的更多相关文章

  1. Egret引擎随学随机

    1.纹理集实际上就是将一些零碎的小图放到一张大图当中.游戏中也经常使用到纹理集.使用纹理集的好处很多,我们通过将大量的图片拼合为一张图片从而减少网络请求,原先加载数次的图片资源现在加载一次即可.同时, ...

  2. 深入了解使用egret.WebSocket

    概念 本教程不讲解TCP/IP协议,Socket属于哪层,消息包体怎么设计等,主讲 egret.WebSocket 使用示例 与 protobuf 使用示例. 在使用egret.WebSocket之前 ...

  3. egret随笔-egret浅入浅出

    •不知道有多人跟笔者一样,喜欢学各种技术,但是都不精,但也有一两项算是精的. 自从踏上了egret游戏开发的道路,就不得不学习各种技术了,因为,要精通egret,首先必须要会TypeScript,其次 ...

  4. Egret入门(一)--简介

    关于Egret 构建2D游戏,开源. TS + JS 完成打包后可以转换成HTML5的游戏(跨平台) Egret特点 1. 优秀的设计思想 2. 高效的渲染模块 3. 完善的配套工具 4. 灵活的工作 ...

  5. egret 篇——关于ios环境下微信浏览器的音频自动播放问题

    前段时间公司突然想用egret(白鹭引擎)做一个金币游戏,大半个月边看文档边写吭哧吭哧也总算是弄完了.期间遇到一个问题,那就是ios环境下微信浏览器的音频自动播放问题. 个人感觉吧,egret自己封装 ...

  6. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  7. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  8. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  9. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

随机推荐

  1. linux上安装rar解压软件

    描述:Linux默认自带ZIP压缩,最大支持4GB压缩,RAR的压缩比大于4GB. -------------------------------------------------- 下载 # wg ...

  2. Python - 元组(tuple) 详解 及 代码

    元组(tuple) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17290967 元组是存放任意元素集合,不能修 ...

  3. CSS3 经典教程系列:CSS3 线性渐变(linear-gradient)

    摘自: http://www.cnblogs.com/lhb25/archive/2013/01/30/css3-linear-gradient.html

  4. jquery 实现页面拖拽并保存到cookie

    实现的效果就是页面内的图片可拖拽到任意位置,并将所在位置保存.下次打开页面依然可见.本文是作demo用,实际开发中,位置的数据应保存到数据库中. 好了,开始. 1.准备工作. a.jquery(1.7 ...

  5. 提高你30%的设计效率的PPT快捷键

    在编辑幻灯片的状态下: [Ctrl]+[A]选择全部对象或幻灯片 [Ctrl]+[B]应用(解除)文本加粗 [Ctrl]+[C]复制 [Ctrl]+[D]快速复制对象 [Ctrl]+[E]段落居中对齐 ...

  6. python re

    >>> url="http://apk.gfan.com/Product/App45021.html" >>> result=html.cont ...

  7. jQuery日期联动插件

    此版本为网上的日期联动插件修改版,加入了修改后事件 /* * jQuery Date Selector Plugin * 日期联动选择插件 * * Demo: $("#calendar&qu ...

  8. AndroidStudio工程文件导入Jar包和So第三方库

    AndroidStudio 导入Jar包和第三方So库 在android开发中,需要导入许多第三方的jar包和so库来支持,包括像许多第三方的支持平台--友盟,环信.融云.极光推送.微博.腾讯等第三方 ...

  9. 自己写的自动生成动态边框的jquery小插件

    思路就是在元素四周添加<ul>列表,然后周期性地改变它的颜色,实现动态的效果,不支持ie7.ie8 预览链接http://gorey.sinaapp.com/myBorder/border ...

  10. HTML5 文件域+FileReader 分段读取文件并上传(八)-WebSocket

    一.同时上传多个文件处理 HTML: <div class="container"> <div class="panel panel-default&q ...