正在载入……

Attention, Zin 的交互设计之路。

User interface, user experience and interactive design.

« Macbook Air!超薄新概念~Google Talk 发布官方翻译机器人 »

最近flash开发经验纪事

IE6下png透明背景图及flash失焦问题
关于这一点,值得一提的是,linux系统不支持flash的wmode=transparent属性,所以,不能使用该属性再为flash所在页面内使用css的background设置一个背景图片了,需要使用System.capabilities.os来判断运行flash客户端的操作系统,如果非Windows,则在flash内加载背景图片。而Macos未曾测试过。
函数参考:
System.capabilities.os:String [read-only]
字符串,指示当前的操作系统。os 属性可以返回下列字符串:""Windows XP"、"Windows 2000"、"Windows NT"、"Windows 98/ME"、"Windows 95"、"Windows CE"(仅在 Flash Player SDK 中可用,在桌面版本中不可用)、"Linux" 和 "MacOS"。服务器字符串为 OS。
我使用以下方法判断是否非Windows系统

function osTest():Bollean {
var osStr:String;
osStr = System.capabilities.os;
osStr = osStr.slice(0,3);
osStr=="Win"?return true:return false;
}


利用参数方程实现斜切函数之椭圆运动,伪3D产品展示效果

在flash中实现toolTip的方法

flash项目开发的工作程式及方法

movieClipLoader类构建载入动画函数深入研究

与服务器端传送变量或url交互,涉及到编码的问题,utf-8与gb2312间转码
看一下下面的示例:

var blogStr:String = "我是中文";
//进行URL编码转义,unicode编码
blogStr = escape(blogStr);
trace(blogStr);
//对URL进行解码为ASCII字符
trace(unescape(blogStr));


相关函数参考:
escape(expression:String) : String
将参数转换为字符串,并以 URL 编码格式对其进行编码,在这种格式中,所有非字母数字的字符都替换为 % 十六进制序列。当用于 URL 编码的字符串中时,百分号 (%) 用于引入转义符,不与模运算符 (%) 等效。

unescape(string:String) : String
将参数 x 作为字符串计算,将该字符串从 URL 编码格式解码(将所有十六进制序列转换为 ASCII 字符),并返回该字符串。

需要注意的问题是,flash内部使用utf-8编码格式进行文本处理,所以从外部载入文件例如xml,如果是中文就需要使用utf-8编码实现,使用gb2312时,设置system.useCodepage=true来通知Flash Player 使用运行播放器的操作系统的传统代码页来解释外部文本文件,但又有一个问题是,如果操作系统本身是英文或其使用的编码不支持中文字符呢?这个在帮助文档中找到了答案:
如果将 system.useCodepage 属性设置为 true,请记住,运行播放器的操作系统的传统代码页必须包含外部文本文件中使用的字型,这样才能显示文本。例如,如果您加载含有中文字符的外部文本文件,则不能在使用 CP1252 代码页的系统上显示这些字符,原因是该代码页不包含中文字符。为了确保所有平台上的用户均可查看 Flash 应用程序使用的外部文本文件,应使所有外部文本文件的编码都是 Unicode,并保留 system.useCodepage 属性的默认设置 false。这会使 Flash Player 将文本解释为 Unicode
结论是,请使用Unicode编码,这样最安全,无论从客户端还是服务器端。
上面说的是载入,另外就是发送了,向服务器端发送中文时,例如与asp、php、jsp等通过post或get传送变量、发送xml数据等包含中文字符,需要进行unicode或gbk的转义,这取决于服务器的配置,显然,与服务器交互是一个传送与载入的过程,既然载入时是使用utf-8,那服务器端编码即是这种格式,在发送数据时候就需要使用escape函数进行转义了,而之前要注意保存该变量原型,在falsh中显示该变量时需要其未转义过的原型,而且该函数会将诸如_,@,?,/等之类的标点符号也进行转义,为避免混乱,请注意需要使用的编码格式,转义,还是不转义?

欢迎发表看法:

您的讨论更有价值!

控制面板

<< 2008-12 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

最近留言