Flash Builder 概要分析 无法连接

在进行概要分析的时候,出现下面的错误提示:

无法连接到应用程序以访存概要分析数据。请再次尝试对应用程序进行概要分析。

网上找了资料讲到要修改FlashBuilder.ini:

进入Flash Builder安装目录,打开FlashBuilder.ini文件,增加下面这句话:
Windows 7系统
-Duser.home=C:\\Users\\[你的用户名]

Windows XP系统
-Duser.home=C:\\Documents and Settings\\[你的用户名]

但我安装的是插件版,没有FlashBuilder.ini这个文件,则需要修改Eclipse安装目录下的eclipse.ini文件。

关于这个错误产生的原因,可以看这里

网页游戏服务器端语言选择分析

早上起来找了1个多小时的资料,足迹遍及CSDN、JavaEye、9RIA、51job,关于网页游戏服务器端开发,主要有以下几点说法和结论:

  1. 语言之间性能的区别并不重要,重要的是数据库性能、开发成本(开发时间和开发效率)、语言平台成熟性(是否有大量优质框架和类库可用、是否有高质量团队支持);
  2. 更重要的是服务器架构的设计;
  3. C++性能自然比C#和JAVA高,但开发、调试成本太高,除非有成熟的框架,否则不适合做网页游戏的快速开发;
  4. 现有的大量C++服务端,主要源于以前网络游戏的服务端主要是C++开发,后来转到网页游戏,比较方便;
  5. Linux平台,想都不用想:C++或JAVA;
  6. 从招聘信息来看,C++最多,JAVA其次,偶有C#和Python。

51job的游戏服务端招聘信息

AIR的URLLoader不支持对静态文件使用POST方法获取

在AIR中对静态文件使用POST方法获取内容的时候,会出现一个IOError错误:

[IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: http://demo.zengrong.net/freeroom/index.html" errorID=2032]

注意,只有对真正的纯静态文件才会发生这样的错误,而对于使用URL重写方式虚拟出来的静态文件,则不会报错。(本文地址就是用UrlRewrite重写出来的,不信的可以试试)

对于以“file:///”开头的本地文件,也不会报错。

同样的,在非AIR环境下,也完全正常,不会报错。

究其原因,可能是由于AIR对HTTP协议的方法实现得更加标准。因为AIR不仅支持POST和GET方法,还支持PUT和DELETE方法。不了解PUT、DELETE、GET、POST的看这里

看下面的代码: 继续阅读 »

使用正则表达式解决配置文件字符串替换的思路和例子

正则表达式是非常强大的字符串处理工具,但由于晦涩难懂,唯有不断的学习和使用,才能积累经验。我使用正则表达式总是断断续续,所以水平也很初级。下面就记录这次的使用经验,备查。

下面的xml代码是一个游戏技能配置文件的简化版,其中的items是一个技能,item是该技能的一个级别的值。desc属性是该技能的介绍文本。由于介绍中包含对技能的效果的引用,而技能的效果在不同的技能级别中的值是不同的,因此这里使用定界符来标识可能会变动的值。

针对定界符,我制定的规则很简单,用花括号{}包含要替换的属性值即可,如{key},其中key就是属性名称。对于使用数组方式提供的属性值,则使用{key[n]}的方式来提供,其中n是数组的索引。

程序中要做的,就是在游戏中需要技能的介绍的时候,会根据技能的级别获取到相关的的值,然后查询desc中有哪些定界符,再根据定界符获取到item中的值,最后进行替换。

这个工作虽然并不复杂,但也不是indexof能够解决的,后面就是我使用正则表达式的处理思路。对于XML的解析,我使用E4X。 继续阅读 »

雅黑-Consolas混合字体,编程专用

yahei_consolas

最开始,我使用Courier New做编程用的字体。时间长了感觉这种扁扁的一成不变的字体太生硬,且不支持ClearType,于是就改用了Consolas

Consolas确实不错,但在中文显示方面,又不行了。在程序源码中,不可避免要使用中文注释。Consolas当然不支持中文,因此中文默认是使用宋体显示的。当使用10点大小的时候,中文就模糊不清了。如果采用斜体显示注释的话,宋体就更加显得支离破碎。

雅黑字体确实在中文显示上不错,但雅黑不是等宽字体,不能用于源码显示。

所以,就有网友使用字体工具将雅黑和Consolas集成在一起,让程序员可以在源码中看到优秀的中文显示效果。如下:

不过,这个字体中的Consolas有了一些变化,不像纯Consolas那么圆滑了。

字体下载:

  YaHei.Consolas.1.12 (6.9 MiB, 440 hits)

去字体合并作者博客下载

[转]深入Flex4——了解Element和Child的异同

转自:http://bigt.javaeye.com/blog/764430

英文原文:http://www.billdwhite.com/wordpress/?p=296


当我了解到Flex4那些对我诸多裨益的新特性后, 我便决定转而使用它。刚开始的时候,我试图利用在Flex前作中的认识和既有经验来快速进入状态。但很快我便发现有时即使面对一些显而易见的问题我也不得不求助于API文档或者运行一些示例程序来弄清这种问题的来龙去脉。根据以往经验,Flex3 的Halo在处理显示列表的时候隐藏了大量的实现细节和不良设计。然而一旦你开始使用新的Spark架构后,你就得以近距离的面对这些实现细节—Halo究竟在私底下干了什么,而且你会体会到为什么说Spark对于显示列表的处理更为“直白”。

“elements”是一个关键性的问题。elements是何物?它同child是否是一回事?刚开始的时候我曾武断的认为elements不过是children的另一种说法。通过反复梳理组件中所有的elements和children,我发觉在新的容器类(也包括一些经过改良的传统容器)某些似乎是理所当然应该具备的方法消失了。如果没有getElements(),我该如何获取elements的数目呢?我能否把getChildren() 的返回结果作为IVisualElement来对待。这令我十分纠结。

困扰的我于是开始认真阅读学习API文档,Flex的源码以及相关的博客文章。我也曾尝试解读一些博主发布的关于Flex4新特性的幻灯片。然而事实证明脱离讲解而孤立的看幻灯片作用相当有限。

最后,我拼凑了一些言简意赅的示例。这些示例将带领我了解有关elements的全新知识,告诉我那些在新的Spark容器背后发生的故事。 继续阅读 »

[转]Flash高性能开发基础系列—内存篇

转自:青竹的日志


内存优化在项目是一个重要的环节,如果不合理的利用和回收内存会合你的程序整体大大下降.

合理使用对象

创建不同对象一般所消耗的内存是不一样的。如:Number 消耗 8 个字节,int消耗 4个字节, uint消耗 4个字节.下面我举一些例子:

1.int 类可使用表示为 32 位带符号整数的数据类型。 int 类表示的值的范围是:-2,147,483,648 (-2^31) 到 2,147,483,647 (2^31-1),所以如果你的取值范围在-2,147,483,648 (-2^31) 到 2,147,483,647 (2^31-1)请你用int而不是用Number(刚从2.0转过来的人可能喜欢用Number).uint 范围是0 到 4,294,967,295 (2^32-1) 之间,Actionscript3中类型很少,所以这些只要你平时稍加注意一下就行.
2.合理使用Shape与Sprite,MovieClip,你可能用MovieClip可以完成Sprite与Shape的功能,但是他们所需的内存是不一样的Shape需要 236 字节,Sprite 需要 412字节, MovieClip 需要440字节,如果你只想显示图形没有交互那你使用Shape,如果是有交互的图形你可以用Sprite,如果是动画你才用MovieClip.

以上只是2个常见的实例,其实在as3中还有很多值得注意的这类情况。我还看到有些大哥为了派发一个事件而去继承Sprite类,Sprite需要消耗400字节, EventDispatcher只需要40字节. 继续阅读 »

Flash Builder编译的swf为什么在bin-debug下运行正常,复制到其他文件夹就不正常?

localTrustFlash

相信用Flash Builder/Flex Builder做开发的大部分开发者都遇到过这样的问题,编译的swf在bin-debug中打开(不是在IDE环境中调试,而是直接双击用Flash Player打开),一切正常;而将其复制到其他文件夹,就会弹出安全错误。这是由于Flash Player对本地回放安全性的限制。详情可看官方文档中的“权限控制”部分。不想看官方文档的,继续往下看。

解决这问题的方法主要是以下两种:

一、使用本地信任文件

在Windows XP操作系统中,当前用户的本地信任文件路径为:
C:\Documents and Settings\[你的用户名]\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust

全局的信任文件路径为:
C:\windows\system32\Macromed\Flash\FlashPlayerTrust 继续阅读 »

包含Alert、MenuBar等更多组件的Flash组件,可用于纯AS项目

flashui

Flex或纯AcitonScript项目中使用Flash组件一文中,我介绍了在纯AS项目中使用FlashUI组件的方法,并提供了FlashUI.swc的下载。由于Flash提供的UI中缺少一些常用的组件(如Alert、Menu等),我将Yahoo! ASTRA Flash Components整合进入了FlashUI.swc中,以方便使用。整合进入的组件包括:

UI类:

AutoComplete、AlertManager、AudioPlayback、Carousel 、Form、Menu、MenuBar、TabBar、Tree

布局类:

HBoxPane、VBoxPane、FlowPane、TilePane、BorderPane

图表类:

BarChart、 ColumnChart、LineChart、PieChart

ASTRA组件的使用文档:http://developer.yahoo.com/flash/astra-flash/classreference/

同时整合进入FlashUI.swc的,还有Flash自带的Video类组件。使用文档

所有整合的组件列表:

所有整合的组件列表

整合后的swc文件命名为FlashUIPlus.swc。如果只希望使用基本的组件,也仍然可以使用原来的FlashUI.swc

  FlashUIPlus (342.8 KiB, 556 hits)

BaseUI中文使用说明和范例

在Flex中,界面中的各个组件可以随着浏览器的大小而重新排列位置,始终在浏览器中保持满屏显示的状态。我们将这种效果称为“布局”。

Flex框架实现了一套自己的布局框架。在Flex3中,可以使用HBox、VBox等进行布局管理;在Flex4中,可以使用spark.layouts包中的布局管理器,这个包的布局功能更加强大和灵活

那么,在Flash或者纯AS项目中,如何实现布局呢?

侦听舞台的Resize事件是解决这个问题的常用方法。但是如果布局比较复杂,就需要大量的代码来实现这些布局,使用侦听Resize事件的方法未免显得繁琐。于是,就有人实现了AS下的布局类或者布局框架。例如:senocular Layout classYahoo ASTRA Layout Utility等等。本文介绍的是BaseUI

BaseUI的中文资料较少,这一篇官方说明的译文,通过它大致可以了解BaseUI的工作方式和特点。本文则准备以实例的方式基于一个纯AS项目来介绍BaseUI的基本用法,这样更容易理解。 继续阅读 »