Archive for the ‘Flex 迷你教程’ Category

Posted by Kevin Luo at 24 February 2010

Category: Flex 迷你教程, P2P, 未分类

Tags: , , ,

终于有时间试下Strtaus 2的p2p多播功能了。之前看的视频介绍中,Adobe描述一个非常理想的多人P2P数据共享方式。但是今天试了一下后发现视频的速度非常慢(视频的发布和接收端都在一台机器上),感觉上视频被发送到了什么地方后才传了回来。这这……好吧,就当是BETA的问题了,WAIT AND SEE. (2/25日更新,2/23日发布的Flash player 10.1 beta 3 看来解决了这个问题,Demo的速度现在非常正常)

准备工作:

先了解一下什么是stratus以及什么是RTMFP,你可以到http://labs.adobe.com/technologies/stratus/看下官方的解释或者直接看我原来的 Flex 迷你教程 — 基于Stratus的P2P网络电话 (1)(2)(3) 先学习一下Flash p2p的基础. 简单的说原来的Stratus 实现了flash player之间点对点的传输数据,而今天要讲的stratus 2 不仅支持单个的点对点数据传说,还引入了多播的概念。

在原来的stratus中如果我们要做一个多人同时在线的应用,比如多人视频。那么我们需要把在线的所有人都链接起来,类似蜘蛛网的结构,网中的每个人需要与其他所有人链接,这样数据才能在所有人中共享。这种模式在多人连线中是不可取的。假设我们用户A发布一个视频想让其他10个用户观看,那么10个用户都需要链接到他。就中国的普通用户的网络带宽来说,这就是极限了。而Stratus 2 中 “组” 的概念解决了这个问题。用户A发布视频让同一个组中的其他10个人观看。他们并都从A处获取视频。而有可能通过组中的其他用户获取A的视频。这也就是P2P的模式了,每个人都可以作为数据的发出者,数据以最优的方式被观看者收到,参与的人越多,数据的副本就越多。视频的速度也就越快。 (more…)

Posted by Kevin Luo at 20 December 2009

Category: Flex 迷你教程, 开源控件

Tags: , , ,

在项目中我们对DataGrid的要求是很高的,但很不幸的Flex 的DataGird的功能是很傻的,这就催生了AdvancedDatgrid, 它确实解决了很多DataGrid不能做的事,比如多级排序,单元格选择,树状显示数据,合并表头等,但是不知道为什么它确忘记了 “合并单元格”这么重要的事。好在牛人是很多的,于是出现了MecGrid, NecGrid这样不错的能解决单元格合并的DataGrid, 不过他们都各有缺点。

MecGrid: (http://www.mechansp.com/index.php)

1. 不支持itemrender。
2. 单元格选择时无法获知整行数据。
3. 不支持xxxFunction设置比如(labelFunction)
4. 设置很不方便。在column设置中大量使用 number作为参数,非常非常的不利于使用,在线文档对这个ResourceXML的设置也没有提到具体细节,这个很头痛.

总结: MecGrid的使用非常不方便,而且完全不支持复杂数据类型,虽然实现了很多功能但都是固定功能,扩展性不强。这让他局限在只能作为表格使用。
NEC Grid (http://www.necst.co.jp/product/ibiz/column/ibizblock/chap7.html)

nec

1. 不能改变行高。
2. 破换了itemrender的使用,我增加了一个ComboBox作为itemrender,但是他的显示完全不正常。如果itemrender的高度大于他的默认行高,显示会被切断。
3. 不支持单元格选择。

总结:这个DataGrid的使用非常方便,不过缺点也比较明显,尤其是对itemrender这条,要命的是他不能改变行高,但实际中我们的数据是很有可能换行的。另外他居然不支持单元格选择,作为一个AdvancedDatagird,单元格选择在很多时候是必要的。总的来说这个DataGrid用于对数据操作没有特殊要求的用户是不错的选择。

—————————-废话结束,教程开始的分割线—————————————

(more…)

Posted by Albert Zhang at 6 August 2009

Category: Flex 迷你教程

Tags: ,

利用KeyboardEvent.KEY_DOWN和TextEvent.TEXT_INPUT事件结合,可以用FlashPlayer 10中的TextArea完美实现消息发送框的功能。包括:

按Enter键立即发送消息、消息发送后立即清空TextArea、同时按Ctrl/Shift+Enter回车换行。

原理是:先判断KEY_DOWN事件中按下的是什么键,如果是Shift/Ctrl+Enter,则用代码向TextArea中插入一个换行符(这里flashplayer 9和10不一样,在9中按ctrl+Enter默认就是换行,而10不会,所以要用代码插入)。如果只按下了Enter,则在TEXT_INPUT事件处理中用preventDefault()来阻止默认的换行动作。

代码如下: (more…)

Posted by Kevin Luo at 30 June 2009

Category: AIRIA, Flex 迷你教程

Tags: , , ,

前些天和AIRIA的几位网友一起编写的《Flex 4 & Flash Builder 4》 快速入门终于发布了,这本电子教程主要向大家介绍如何使用Flash Builder 4进行开发以及Flex SDK 4中的新特性(注:Flex Builder 4等于Flash Builder 4,以后没有以Flex命名的IDE了,只有SDK仍以Flex命名),我的教程都集中在第四章–Flex 4新特性,如果大家阅读有什么疑问的话可以直接问我,或者到AIRIA论坛中发帖。

fm (more…)

Posted by Kevin Luo at 18 June 2009

Category: Flex 迷你教程

Tags: , , , , ,

继续第二章,布局 :)

简介

这篇教程中我们将通过一些简单的例子初步的学习Flex SDK 4中新的布局方式。

学习目标

  1. 初步了解SDK4中布局有哪些变化。
  2. 学会使用新的布局方式。

准备工作

下载并安装Flash Builder 4

实现步骤

在之前的Flex SDK中,布局是在控件或者容器中单独定义的,因此我们的控件,比如List, TileList, and HorizontalList,他们全都有完全相同的方法,只是布局方式不同。在Flex 4中,布局已经从控件中剥离出来。这样我们可以更加灵活的对控件进行布局,比如在运行时将容器的布局方式由横向改为纵向。这在Flex 3中是很难实现的, 因为我们很难在运行时把List改为TileList 或者将Hbox改为Vbox。 (more…)

Posted by Kevin Luo at 16 June 2009

Category: Flex 迷你教程

Tags: , , , ,

这次的教程主要针对Flex SDK 4的新特性,一共有12篇。会全部收录在airia.cn出品的《Flash Builder 4 入门教学》中,这本电子教程现正在编辑阶段,里面包含了所有Flash Builder 4新增加内容的介绍,使用教程等,希望在它发布之后大家能够喜欢。现在我将部分的内容提前放出,也算是预告片 :)

简介

学习Flex SDK 4的新特性 — 主题

学习目标

  1. 切换Flash Builder 4自带的多款主题。
  2. 知道主题的存放位置。
  3. 知道主题应用的原理。 (more…)

Posted by Kevin Luo at 18 March 2009

Category: 3D, Flex 迷你教程

Tags: , , ,

从 Flex SDK3.2开始,Adobe 对所有可视化控件增加了3D控制属性 rotationX, rotationY, rotaionZ, Z等。今天就用这四个属性模拟亚马逊的Windowshop (http://www.windowshop.com/),当然这里只是为了演示在Flex SDK 3.2+中我们可以比较容易的实现这样的效果,代码中并没有研究自动对焦到任意图片的算法,只是模拟对焦到两张图片。 (more…)

Posted by Kevin Luo at 17 January 2009

Category: Flex 迷你教程, P2P

Tags: , , ,

Flex 迷你教程 — 基于Stratus的P2P网络电话 (2)中我们已经知道如何链接一个客户端并且互相发送短信,今天来扩展下面的这些内容

  1. 呼叫时在被呼叫端显示 “接受”,点击接受后双方建立链接。
  2. 呼叫试或者接通后可以挂机。
  3. 添加视频与音频通信。

首先来看看Demo:

Demo 操作:

1. 输入任意名称,点击链接 (两台机器或者两个浏览器)
2. 输入对方的peerId,点击呼叫
3. 被呼叫方点击 “接受” 建立链接。
4. 开始语音,视频,文字通讯.
5. 挂机

Demo地址:

http://flextheworld.com/flash/p2p/P2pPhoneDemo.html

(more…)

Posted by Kevin Luo at 10 January 2009

Category: FMS, Flex 迷你教程, P2P

Tags: , , , ,

接上篇,这一讲里我告诉大家如何链接另一个flash客户端,并且发送文字信息,在下一讲中会引入更多的内容,比如,“是否接收对方呼叫”,“语音和视频的发送” 等等。

看这篇教程时一定要把自己分成“呼叫者”和“被呼叫者”两个身份来看,否者有可能会看得头晕,呵呵。现在我们开始。

1. 首先了解一下我们会用到的变量, 这里要最主要的四个NetStream,他们的作用请看注释。

(more…)

Posted by Kevin Luo at 7 January 2009

Category: FMS, Flex 迷你教程, P2P

Tags: , , , ,

前些天把Adobe官方的p2p Video phone demo的研究了一遍,了解了这个基于Stratus的video phone是如何工作的。由于Adobe的demo需要运行一个python写的web service才可以运行 — 这个web service用于用户名与peer ID之间的转换,真实项目中我们不可能用256-bit 的 peer ID作为联系人的用户名,所以做一个用户名到Peer ID之间的转换是很用必要的,打电话时只需要知道对方的登陆用户名就可以联系,不需要知道这个超长的不可能记住的Peer ID。可能很多不熟悉python的人没有成功运行源代码,现在我就从我的角度告诉大家如何创建这么一个 P2P 电话。(当然不需要额外的web service) (more…)