flash as3调用多个摄像头的源代码

2012 年 01 月 30 日 at 下午 5:06分类目录:flash actionScript3 | flex/flashBuilder

package as3
{
import cn.upflash.asMc.UpFlashMc;
import cn.upflash.dataTools.XmlFile;
import com.greensock.TweenLite;
import flash.display.BitmapData;
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.StageDisplayState;
import flash.display.StageScaleMode;
import flash.events.ActivityEvent;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.geom.Point;
import flash.media.Camera;
import flash.media.Video;
import flash.system.System;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.utils.clearTimeout;
import flash.utils.getTimer;
import flash.utils.setTimeout;
import flash.utils.Timer;
import as3.ColorObj;
import flash.ui.Mouse;
//@author www.upflash.cn
public class SheXiangTou2 extends Basic
{
private var cam:Camera;
private var cam2:Camera;
private var vid:Video;
private var vid2:Video;
private var myTextField:TextField=new TextField();
private var myTextField2:TextField=new TextField();
private var _w:int=400;
private var _h:int=300;
public function SheXiangTou2()
{
stage.scaleMode = “noScale”;
stage.displayState = “fullScreen”;
stage.addChild(myTextField)
stage.addChild(myTextField2)
myTextField2.x = 600;
myTextField.x = 200;
myTextField2.y = 200;
myTextField.y = 200;
cam = Camera.getCamera(“0″);
if (!cam)
{
myTextField.text = “未安装摄像头”;
}
else
{
myTextField.text = “正在连接摄像头”;
connectCamera();
}
cam2 = Camera.getCamera(“1″);
if (!cam2)
{
myTextField2.text = “未安装摄像头”;
}
else
{
myTextField2.text = “正在连接摄像头”;
connectCamera2();
}
}
private function connectCamera2():void
{
vid2 = new Video(_w, _h);
vid2.attachCamera(cam2);
vid2.x=500
addChild(vid2);
}
private function connectCamera():void
{
vid = new Video(_w, _h);
vid.attachCamera(cam);
addChild(vid);
}
}
}

flash AS2的fscommand应用

2012 年 01 月 06 日 at 上午 11:39分类目录:flash actionScript3

fscommand 命令部分用法.
[1]全屏播放指令:
fscommand(“fullscreen”,”true”);
效果:flashplayer播放器将以全屏方式进行影片播放。按键盘上的Esc键可跳转回窗口状态。

[2]屏蔽右键菜单指令:
fscommand(“showmenu”,”false”);
效果:当观众在flashplayer窗口中单击鼠标右键时,将不会出现快捷菜单。

[3]禁止影片缩放:
fscommand(“allowscale”,”false”);
效果:当影片中应用位图时,如果被放大或拉伸显示,将会出现图象模糊或锯齿,为了避免这些影响视觉的现象,使用此指令可以禁止影片尺寸被改变。

[4]使键盘出入无效的指令:
fscommand(“trapallkeys”,”true”);
效果:此指令用于锁定键盘输入,使所有设定的快捷键都失效,flashplayer播放器此时不识别任何键盘输入信号。(但注意:无法禁止Ctrl+Alt+Del三键组合)

[5]调用可执行文件指令:
fscommand(“exec”,”需要打开的文件路径”);
效果:直接打开一个可执行文件,文件类型可以是.exe//.com//.bat。路径最好选用相对路径。

[6]关闭播放器指令:
fscommand(“quit”);
效果:结束放映,播放器窗口自动关闭,此ACTION适合添加到影片的最后一贞,当然也可以放到一个按钮上来实现“终止影片播放”功能。

FSCommand功能详解

因为很多人对FSCommand的某些功能都不是很了解
经常发贴而又得不到有效的回答
因此我整理了一些资料希望对大家有帮助

fscommand(cmd_string,arg_string)
执行主机端指令。cmd_string指定所要执行的指令名,可为FlashPlayer的
指令或浏览器javascript函数。arg_string声明该指令所用到的参数。
FlashPlayer的指令有(只能在独立播放器时使用):
“fullscreen”是否全屏播放,参数为true或false
“allowscale”是否允许通过拉伸窗口缩放影片,参数为true或false
“showmenu”是否在播放器显示菜单,参数为true或false
“trapallkeys”是否屏蔽播放器的快捷键(如Esc表示停止播放并恢复
“save”隐藏属性,作用是存变量到文本文件.
视窗显示),参数为true或false。但Alt+F4系统快捷
键(关闭窗口)依然可用。
“exec”运行arg_string所指定的文件。

as3 xml节点按条件查找

2011 年 10 月 31 日 at 下午 12:44分类目录:flash actionScript3

var myXml:XML = <myXml>
<node><web site = “upflash.cn”>1</web></node>
<node><web site = “qq.com”>1</web></node>
<node><web site = “sina.com”>2</web></node>
<node><web site = “baidu.com”>3</web></node>
</myXml>;
trace(myXml.node.web.(@site==”upflash.cn”));
/*选出web节点内容不是sina.com的node节点
输出结果1*/
trace(myXml.node.(web==1));
/*选出id等于1的web节点
<node>
<web site=”upflash.cn”>1</web>
</node>
<node>
<web site=”qq.com”>1</web>
</node>*/

flex4.0快捷键整理

2011 年 10 月 20 日 at 下午 8:21分类目录:flex/flashBuilder

Alt+-●显示系统菜单
Alt+/●内容辅助
Alt+?●上下文信息
Alt+Enter●Java 断点属性
Alt+Enter●属性
Alt+Shift+?●上下文信息
Alt+Shift+A,F●执行活动项目 FlexUnit 测试
Alt+Shift+B●在 Breadcrumb 中显示
Alt+Shift+B●在 Breadcrumb 中显示
Alt+Shift+C●Mark Task Complete
Alt+Shift+C●更改方法特征符
Alt+Shift+D,A●调试 Java Applet
Alt+Shift+D,D●调试桌面应用程序
Alt+Shift+D,J●调试 Java 应用程序
Alt+Shift+D,Q●调试 Ant 构建
Alt+Shift+D,T●调试 JUnit 测试
Alt+Shift+D,W●调试 Web 应用程序
Alt+Shift+E,F●执行编辑器 FlexUnit 测试
Alt+Shift+F12●发布影片(&P)
Alt+Shift+F●强制返回
Alt+Shift+I●Mark Task Incomplete
Alt+Shift+I●内联
Alt+Shift+J●添加 Javadoc 注释
Alt+Shift+L●抽取局部变量
Alt+Shift+L,F●配置/执行活动项目 FlexUnit 测试
Alt+Shift+M●抽取方法
Alt+Shift+N●“新建”菜单
Alt+Shift+O●切换 Ant 标记出现
Alt+Shift+O●切换标记出现
Alt+Shift+P,D●概要分析桌面应用程序
Alt+Shift+P,W●概要分析 Web 应用程序
Alt+Shift+Q,B●显示视图 (视图: 断点)
Alt+Shift+Q,C●显示视图 (视图: 控制台)
Alt+Shift+Q,D●显示视图 (视图: 声明)
Alt+Shift+Q,H●显示视图 (视图: 备忘单)
Alt+Shift+Q,J●显示视图 (视图: Javadoc)
Alt+Shift+Q,K●显示视图 (视图: Task List)
Alt+Shift+Q,O●显示视图 (视图: 大纲)
Alt+Shift+Q,P●显示视图 (视图: 包资源管理器)
Alt+Shift+Q,Q●显示视图
Alt+Shift+Q,S●显示视图 (视图: 搜索)
Alt+Shift+Q,T●显示视图 (视图: 层次结构)
Alt+Shift+Q,V●显示视图 (视图: 变量)
Alt+Shift+Q,X●显示视图 (视图: 问题)
Alt+Shift+Q,Y●显示视图 (视图: 同步)
Alt+Shift+Q,Z●显示视图 (视图: 历史记录)
Alt+Shift+R●Mark Task Read
Alt+Shift+R●在文件中重命名
Alt+Shift+R●重命名 - 重构
Alt+Shift+S●Submit Task
Alt+Shift+S●显示源代码快速菜单
Alt+Shift+T●显示重构快速菜单
Alt+Shift+U●Mark Task Unread
Alt+Shift+U●删除出现注释
Alt+Shift+V●移动 - 重构
Alt+Shift+W●显示位置…
Alt+Shift+X,A●运行 Java Applet
Alt+Shift+X,D●运行桌面应用程序
Alt+Shift+X,J●运行 Java 应用程序
Alt+Shift+X,Q●运行 Ant 构建
Alt+Shift+X,T●运行 JUnit 测试
Alt+Shift+X,W●运行 Web 应用程序
Alt+Shift+Z●包围方式快速菜单
Alt+Shift+上箭头●Mark Task Read and Go To Previous Unread Task
Alt+Shift+上箭头●Select Enclosing Element
Alt+Shift+上箭头●选择外层元素
Alt+Shift+下箭头●Mark Task Read and Go To Next Unread Task
Alt+Shift+下箭头●Restore Last Selection
Alt+Shift+下箭头●复原上一个选择
Alt+Shift+右箭头●Select Next Element
Alt+Shift+右箭头●选择下一个元素
Alt+Shift+左箭头●Select Previous Element
Alt+Shift+左箭头●选择上一个元素
Alt+上箭头●Go To Previous Unread Task
Alt+上箭头●将行上移
Alt+下箭头●Go To Next Unread Task
Alt+下箭头●将行下移
Alt+右箭头●前移历史记录
Alt+左箭头●后退历史记录
Ctrl+,●上一项
Ctrl+-●Zoom Out
Ctrl+-●缩小
Ctrl+-●缩小(&O)
Ctrl+.●下一项
Ctrl+/●切换注释
Ctrl+/●切换注释
Ctrl+/●切换注释
Ctrl+0●适合窗口大小(&F)
Ctrl+1●快速修正
Ctrl+1●缩放比率 100%
Ctrl+1●缩放比率 100%
Ctrl+2,F●快速辅助 - 指定给字段
Ctrl+2,L●快速辅助 - 指定给局部变量
Ctrl+2,R●快速辅助 - 在文件中重命名
Ctrl+3●快速访问
Ctrl+7●切换注释
Ctrl+7●切换注释
Ctrl+=●Zoom In
Ctrl+=●放大
Ctrl+=●放大(&I)
Ctrl+Alt+/●文字补全
Ctrl+Alt+1●左对齐(&L)
Ctrl+Alt+2●垂直居中对齐(&V)
Ctrl+Alt+3●右对齐(&R)
Ctrl+Alt+4●上对齐(&T)
Ctrl+Alt+5●水平居中对齐(&H)
Ctrl+Alt+6●下对齐(&B)
Ctrl+Alt+7●使宽度相同(&W)
Ctrl+Alt+8●基线对齐(&A)
Ctrl+Alt+9●使高度相同(&H)
Ctrl+Alt+B●显示容器边框
Ctrl+Alt+C●显示布局约束
Ctrl+Alt+G●在工作空间中查找文本
Ctrl+Alt+H●打开调用层次结构
Ctrl+Alt+H●打开调用层次结构
Ctrl+Alt+J●连接行
Ctrl+Alt+M●添加内存块
Ctrl+Alt+N●下一个内存监视器
Ctrl+Alt+R●重命名
Ctrl+Alt+Shift+F12●Open Remote Task
Ctrl+Alt+Shift+上箭头●Make Landmark
Ctrl+Alt+Shift+下箭头●Make Less Interesting
Ctrl+Alt+Shift+右箭头●Show Context Quick View
Ctrl+Alt+上箭头●重复行
Ctrl+Alt+下箭头●复制行
Ctrl+A●全部选中
Ctrl+Backspace●删除上一个词语
Ctrl+B●全部构建
Ctrl+C●复制
Ctrl+Delete●删除下一个词语
Ctrl+D●删除行
Ctrl+End●文本末尾
Ctrl+Enter●Open Selected Task
Ctrl+Enter●测试影片(&T)
Ctrl+E●快速切换编辑器
Ctrl+F10●显示标尺上下文菜单
Ctrl+F10●显示视图菜单
Ctrl+F11●运行
Ctrl+F12●Open Task
Ctrl+F2●终止
Ctrl+F3●打开结构
Ctrl+F4●关闭
Ctrl+F4●关闭用户帮助托盘
Ctrl+F5●单步跳入选择的内容
Ctrl+F6●下一个编辑器
Ctrl+F7●下一个视图
Ctrl+F8●下一个透视图
Ctrl+F9●Activate Task
Ctrl+F●查找并替换
Ctrl+G●在工作空间中查找所有声明
Ctrl+G●在工作空间中查找所有声明
Ctrl+G●工作空间中的声明
Ctrl+G●转至地址
Ctrl+Home●文本开头
Ctrl+H●打开“搜索”对话框
Ctrl+Insert●复制
Ctrl+I●Format Active Elements
Ctrl+I●更正缩进
Ctrl+I●缩进行
Ctrl+J●增量查找
Ctrl+K●查找下一个
Ctrl+L●转至行

使flash变小应该注意的事项

2011 年 10 月 19 日 at 下午 3:48分类目录:flash动画技巧

1.尽量使用元件做动画
2.图片在导入前一定要预先处理。
3.flash cs5.5多了一个新功能。打散的图片可以转换为新图片。很方便。可以使图片尽可能的小。
4.如果对画面质量要求高。请选中库里的图片。选中无损和光滑。默认是压缩的,生成文件小,但是画面有损失。
5.声音也要预先处理。导入到库之后同样有是否压缩的选项。看客户需求定了。
6.过多的过渡填充也会使文件变大一点点。可以忽略不计。如果是手机开发尽量不用过渡透明等。消耗cpu。
7.尽量不要潜入字体。潜入字体会导致文件增大很多。而且导致发布变慢。

键盘码和字符码列表和查找工具

2011 年 10 月 12 日 at 下午 5:18分类目录:flash actionScript3

A <——–> 65
B <——–> 66
C <——–> 67
D <——–> 68
E <——–> 69
F <——–> 70
G <——–> 71
H <——–> 72
I <——–> 73
J <——–> 74
K <——–> 75
L <——–> 76
M <——–> 77
N <——–> 78
O <——–> 79
P <——–> 80
Q <——–> 81
R <——–> 82
S <——–> 83
T <——–> 84
U <——–> 85
V <——–> 86
W <——–> 87
X <——–> 88
Y <——–> 89
Z <——–> 90
0 <——–> 48
1 <——–> 49
2 <——–> 50
3 <——–> 51
4 <——–> 52
5 <——–> 53
6 <——–> 54
7 <——–> 55
8 <——–> 56
9 <——–> 57
数字键盘 1 <——–> 96
数字键盘 2 <——–> 97
数字键盘 3 <——–> 98
数字键盘 4 <——–> 99
数字键盘 5 <——–> 100
数字键盘 6 <——–> 101
数字键盘 7 <——–> 102
数字键盘 8 <——–> 103
数字键盘 9 <——–> 104
数字键盘 0 <——–> 105
乘号 <——–> 106
加号 <——–> 107
Enter <——–> 108
减号 <——–> 109
小数点 <——–> 110
除号 <——–> 111
F1 <——–> 112
F2 <——–> 113
F3 <——–> 114
F4 <——–> 115
F5 <——–> 116
F6 <——–> 117
F7 <——–> 118
F8 <——–> 119
F9 <——–> 120
F10 <——–> 121
F11 <——–> 122
F12 <——–> 123
F13 <——–> 124
F14 <——–> 125
F15 <——–> 126
Backspace <——–> 8
Tab <——–> 9
Clear <——–> 12
Enter <——–> 13
Shift <——–> 16
Control <——–> 17
Alt <——–> 18
Caps Lock <——–> 20
Esc <——–> 27
空格键 <——–> 32
Page Up <——–> 33
Page Down <——–> 34
End <——–> 35
Home <——–> 36
左箭头 <——–> 37
向上箭头 <——–> 38
右箭头 <——–> 39
向下箭头 <——–> 40
Insert <——–> 45
Delete <——–> 46
Help <——–> 47
Num Lock <——–> 144
; : <——–> 186
= + <——–> 187
- _ <——–> 189
/ ? <——–> 191
` ~ <——–> 192
[ { <--------> 219
| <--------> 220
] } <——–> 221
” ‘ <——–> 222

A <——–> 65
B <——–> 66
C <——–> 67
D <——–> 68
E <——–> 69
F <——–> 70
G <——–> 71
H <——–> 72
I <——–> 73
J <——–> 74
K <——–> 75
L <——–> 76
M <——–> 77
N <——–> 78
O <——–> 79
P <——–> 80
Q <——–> 81
R <——–> 82
S <——–> 83
T <——–> 84
U <——–> 85
V <——–> 86
W <——–> 87
X <——–> 88
Y <——–> 89
Z <——–> 90
0 <——–> 48
1 <——–> 49

2 <——–> 50
3 <——–> 51
4 <——–> 52
5 <——–> 53
6 <——–> 54
7 <——–> 55
8 <——–> 56
9 <——–> 57
数字键盘 1 <——–> 96
数字键盘 2 <——–> 97
数字键盘 3 <——–> 98
数字键盘 4 <——–> 99
数字键盘 5 <——–> 100
数字键盘 6 <——–> 101
数字键盘 7 <——–> 102
数字键盘 8 <——–> 103
数字键盘 9 <——–> 104
数字键盘 0 <——–> 105
乘号 <——–> 106
加号 <——–> 107
Enter <——–> 108
减号 <——–> 109
小数点 <——–> 110
除号 <——–> 111
F1 <——–> 112
F2 <——–> 113
F3 <——–> 114
F4 <——–> 115
F5 <——–> 116
F6 <——–> 117
F7 <——–> 118
F8 <——–> 119
F9 <——–> 120
F10 <——–> 121
F11 <——–> 122
F12 <——–> 123
F13 <——–> 124
F14 <——–> 125
F15 <——–> 126
Backspace <——–> 8
Tab <——–> 9
Clear <——–> 12
Enter <——–> 13
Shift <——–> 16
Control <——–> 17
Alt <——–> 18
Caps Lock <——–> 20
Esc <——–> 27
空格键 <——–> 32
Page Up <——–> 33
Page Down <——–> 34
End <——–> 35
Home <——–> 36
左箭头 <——–> 37
向上箭头 <——–> 38
右箭头 <——–> 39
向下箭头 <——–> 40
Insert <——–> 45
Delete <——–> 46
Help <——–> 47
Num Lock <——–> 144
; : <——–> 186
= + <——–> 187
- _ <——–> 189
/ ? <——–> 191
` ~ <——–> 192
[ { <--------> 219
| <--------> 220
] } <——–> 221
” ‘ <——–> 222

按照多个元素对数组排序

2011 年 10 月 11 日 at 下午 4:30分类目录:flash actionScript3

//定义一个对象数组
var userScoreArr:Array = [{uid:0,score:0,id:0},{uid:1,score:0,id:0},{uid:2,score:0,id:0}];
//对数组进行大小降序排序
var indexArr:Array = userScoreArr.sortOn(["score","id"],Array.NUMERIC | Array.DESCENDING);
//查看新的数组顺序
for each (var i in indexArr)
{
trace(i.score,i.id);
}

如何让百度蜘蛛每天抓取你网站的内容

2011 年 09 月 30 日 at 下午 2:38分类目录:网站技术

百度最近的算法让挺多seoer头痛的,因为很多网站出现百度不收录,快照不更新的现象。笔者也是比较郁闷的,这段时间看了很多这方面的书籍和测试,发现百度的很多算法做了调整,可能大部分是针对那些优化过度,采集过度的网站。那么,如何保持让百度每天及时收录你的文章呢?笔者有一点体会给大家参考。
1. 友情链接一定要做好,无论花多少时间。如果你在做百度的流量的话,那么你不要太看重PR,因为很多PR高的网站,百度才收录几页。我找友情链接是以这样的标准的:a.百度快照每天更新的,最好找一些论坛,呵呵,百度蜘蛛在那些网站爬得快。b.百度收录数正常的,一般百度收录数过少的不予考虑。 虽然偶的站相对还是新站,PR为0,但是我对友情链接的要求是很高的。因为友情链接是相对外链来说是最稳定的。

2. 控制外链数量,提高外链质量。目前的外链建设对于百度还是比较敏感的。百度这次算法调整,削减了对外链的权重,甚至对外链过多过杂的网站进行降权,从而导致很多网站的排名下降。

3. 内链建设。呵呵,这个很多网站都忽略的。尤其是没有将站内的内链搞好。

4. 更新频率和更新数量。如果时间允许的话,尽量手工更新,每个频道保持每天都更新,有规律去做。

5. 提高文章质量,这个很重要滴哦。我的网站是请了做杂志的朋友更新的,因此,内容质量还是比较高的。如果内容质量不高,可能排名上去了,都会很快掉下来的。

6. 百度目前一天的收录时间段是这样的,早上7点-9点,下午5-6点,晚上10点-12点。一般是这个时间段更新收录数的。所以一定要在这几个时间段去更新一下文章哦,偶一般是6点起床更新文章,然后8点就跑去睡觉了。哈哈,尤其是做一些热点的网站要注意这个百度每天的收录频率了哦。

7. 网站架构一定要合理哦,这方面偶就比较弱了。这个留给其他朋友来给大家解答吧。偶常常被我的朋友批得,说我的网站架构做得不好,他的网站流量都达到几十万一天的。没有办法,偶不是技术出身的,而且悟性比较差。

今天就先说到这里哦。呵呵,如果哪位朋友做女性网站,百度快照每天更新,而且收录数超过500滴,一起友情链接一下哦。其实保持以上7点,应该百度每天收录你的网站是不成问题哦。偶的网站现在每天更新50篇文章左右,能收录30篇左右

主动向搜索引擎提交自己的网址

2011 年 09 月 30 日 at 下午 2:36分类目录:网站技术

其实百度也是很希望收录一些有价值的网页的..

你可以有以下几个方法帮你把网址提交给搜索引擎:

方法一:主动向搜索引擎提交自己的网址向百度、Google 等提交网址是不用花钱的,其提交页面分别为:
http://www.baidu.com/search/url_submit.html

http://www.google.com/intl/zh-CN/add_url.html

方法二:和同类且已被收录的网站做链接。
方法三:合理、合法的对网站进行SEO(搜索引擎优化)

如果收录慢:
http://www.baidu.com/search/url_submit.html

到上面多提交几次,最好天天提交..

网站没有被收录,百度有相关规定,参见:网页收录问题

http://www.baidu.com/search/guide.html

祝你好运!!

flash as调整影片剪辑的亮度,对比度,饱和度,色相

2011 年 09 月 28 日 at 下午 12:14分类目录:flash actionScript3 | flex/flashBuilder

相信大家对滤镜这东西,在flash IDE内应用很熟。但是在as内怎么用代码实现呢。如何调整影片剪辑的明暗,对比度,饱和度,色相。看了下面的代码你就明白了。

import fl.motion.ColorMatrix;

import flash.filters.ColorMatrixFilter;

//**调整亮度**//

var ld_Matrix:ColorMatrix=new ColorMatrix();

var ld_Filter:ColorMatrixFilter=new ColorMatrixFilter();

ld_Matrix.SetBrightnessMatrix(100);  //设置亮度值,值的大小是 -255–255   0为中间值,向右为亮向左为暗。

ld_Filter.matrix = ld_Matrix.GetFlatArray();

ld_MC.filters = [ld_Filter];

//ld_MC.filters = [];//去除滤镜

//**调整对比度**//

var db_Matrix:ColorMatrix=new ColorMatrix();

var db_Filter:ColorMatrixFilter=new ColorMatrixFilter();

db_Matrix.SetContrastMatrix(255);  //设置对比度值,值的大小是 -255–255  127.5为中间值,向右对比鲜明向左对比偏暗。

db_Filter.matrix = db_Matrix.GetFlatArray();

db_MC.filters = [db_Filter];

//db_MC.filters = [];//去除滤镜

//**调整饱和度**//

var bh_Matrix:ColorMatrix=new ColorMatrix();

var bh_Filter:ColorMatrixFilter=new ColorMatrixFilter();

bh_Matrix.SetSaturationMatrix(0);  //设置饱和度值,值的大小是 -255–255   1为中间值,0为灰度值(即黑白相片)。

bh_Filter.matrix = bh_Matrix.GetFlatArray();

bh_MC.filters = [bh_Filter];

//bh_MC.filters = [];//去除滤镜

//**调整色相**//

var sx_Matrix:ColorMatrix=new ColorMatrix();

var sx_Filter:ColorMatrixFilter=new ColorMatrixFilter();

sx_Matrix.SetHueMatrix(1);  //设置色相值,值的大小是 -255–255  0为中间值,向右向左一试便知。

sx_Filter.matrix = sx_Matrix.GetFlatArray();

sx_MC.filters = [sx_Filter];

//sx_MC.filters = [];//去除滤镜

常见游戏分类及讲解

2011 年 09 月 25 日 at 上午 11:47分类目录:业界动态

RPG= Role-playing Game∶角色扮演游戏
由玩家扮演游戏中的一个或数个角色,有完整的故事情节的游戏。玩家可能会与冒险类游戏混淆,其实区分很简单,RPG游戏更强调的是剧情发展和个人体验,一般来说,RPG可分为日式和美式两种,主要区别在于文化背景和战斗方式。日式RPG多采用回合制或半即时制战斗,如《最终幻想》系列,大多国产中文RPG也可归为日式RPG之列,如大家熟悉的《仙剑》、《剑侠》等;美式RPG如《暗黑破坏神》系列。更详细的,可以根据战斗进行方式分类,将RPG分为动作角色扮演游戏(A.RPG,战斗方式为即时动作,典型就是《暗黑破坏神》)和战略角色扮演游戏 (S.RPG,战斗方式好象下棋,即我们常说的战棋类游戏,如《轩辕伏魔录》)。

ACT= Action Game∶动作游戏
玩家控制游戏人物用各种武器消灭敌人以过关的游戏,不追求故事情节,如熟悉的《超级玛里》、可爱的《星之卡比》、华丽的《波斯王子》等等。电脑上的动作游戏大多脱胎于早期的街机游戏和动作游戏如《魂斗罗》、《三国志》等,设计主旨是面向普通玩家,以纯粹的娱乐休闲为目的,一般有少部分简单的解谜成份,操作简单,易于上手,紧张刺激,属于”大众化”游戏。

AVG= Adventure Game ∶冒险游戏
由玩家控制游戏人物进行虚拟冒险的游戏。与RPG不同的是,AVG的特色是故事情节往往是以完成一个任务或解开某些迷题的形式出现的,而且在游戏过程中刻意强调谜题的重要性。AVG也可再细分为动作类和解迷类两种,动作类AVG可以包含一些格斗或射击成分如《生化危机》系列、《古墓丽影》系列、《恐龙危机》等;而解迷类AVG则纯粹依靠解谜拉动剧情的发展,难度系数较大,代表是超经典的《神秘岛》系列。

SLG= Strategy Game∶策略游戏
玩家运用策略与电脑或其它玩家较量,以取得各种形式胜利的游戏,或统一全国,或开拓外星殖民地。策略游戏可分为回合制和即时制两种,回合制策略游戏如大家喜欢的《三国志》系列、《樱花大战》系列;即时制策略游戏如《命令与征服》系列、《帝国》系列、《沙丘》等。后来有些媒体将模拟经营,即SIM(simulation)类游戏,如《模拟人生》、《模拟城市》、《过山车大亨》、《主题公园》和养成类游戏(TCG,如《世界足球经理》,《零波丽育成计划》等)也归到了SLG下。

RTS=Real-Time Strategy Game:即时战略游戏
本来属于策略游戏SLG的一个分支,但由于其在世界上的迅速风靡,使之慢慢发展成了一个单独的类型,知名度甚至超过了SLG,有点象现在国际足联和国际奥委会的关系。代表作有《魔兽争霸》系列、《帝国时代》系列、《星际争霸》等等。后来,从其上又衍生出了所谓”即时战术游戏”,多以控制一个小队完成任务的方式,突出战术的作用,以《盟军敢死队》为代表。

FGT= Fighting Game∶格斗游戏 ←狗狗最菜的
由玩家操纵各种角色与电脑或另一玩家所控制的角色进行格斗的游戏。按呈画技术可再分为2D和3D两种,2D格斗游戏有著名的《街霸》系列、《侍魂》系列、《拳皇》系列等;3D格斗游戏如《铁拳》、《高达格斗》等。此类游戏谈不上什么剧情,最多有个简单的场景设定,或背景展示,场景、人物、操控等也比较单一,但操作难度较大,主要依靠玩家迅速的判断和微操作取胜。

STG= SHOTING GAME∶射击类游戏
这里所说的射击类,并非是类似《VR战警》的模拟射击(枪战),而是指纯的飞机射击,由玩家控制各种飞行物(主要是飞机)完成任务或过关的游戏。此类游戏分为两种,一叫科幻飞行模拟游戏(Science-Simulation Game),非现实的,想象空间为内容,如《自由空间》、《星球大战》系列等;另一种叫真实飞行模拟游戏(Real- Simulation Game),以现实世界为基础,以真实性取胜,追求拟真,达到身临其境的感觉。如《王牌空战》系列、《苏-27》等等。另外,还有一些模拟其他的游戏也可归为STG,比如模拟潜艇的《猎杀潜航》,模拟坦克的《钢铁雄师》等。STG也可以按照视角版面分为:纵版、横版、主观视角。
纵版:最为常见,像街机中的《雷电》、《鲛鲛鲛》、《空牙》等,都堪称经典之作。
横版:横轴射击,如《沙罗曼蛇》系列、《战区88》都是这类。
主观视角:仿真,模拟战机就属此类。

FPS=First Personal Shooting Game:第一人称视角射击游戏
严格来说它是属于动作游戏的一个分支,但和RTS一样,由于其在世界上的迅速风靡,使之展成了一个单独的类型,典型的有DOOM系列、QUAKE系列、《虚幻》、《半条命》、《CS》……不胜枚举。

PZL= Puzzle Game∶益智类游戏
Puzzle的原意是指以前用来培养儿童智力的拼图游戏,引申为各类有趣的益智游戏,总的来说适合休闲,最经典的嘛~就是大家耳熟能详的《俄罗斯方块》啦。

RCG= Racing Game∶竞速游戏 [也有称作为RAC的]
在电脑上模拟各类赛车运动的游戏,通常是在比赛场景下进行,非常讲究图像音效技术,往往是代表电脑游戏的尖端技术。惊险刺激,真实感强,深受车迷喜爱,代表作有《极品飞车》、《山脊赛车》、《摩托英豪》等。另一种说法称之为”Driving Game”。目前,RCG内涵越来越丰富,出现了另一些其他模式的竞速游戏,如赛艇的,赛马等。

SPT= Sports Game∶体育类游戏
在电脑上模拟各类竞技体育运动的游戏,花样繁多,模拟度高,广受欢迎,如《FIFA》系列、《NBA Live》系列、《实况足球》系列等。

TCG= 育成游戏
以前GB系列泛用,现在一般大家都用 EDU(education)来指代该类游戏,以便于和“ Online Trading Card Game”区分开。
顾名思义,就是玩家模拟培养的游戏,如《明星志愿》、《美少女梦工厂》、《零波丽育成计划》等等。

CAG=Card Game∶卡片游戏
玩家操纵角色通过卡片战斗模式来进行的游戏。丰富的卡片种类使得游戏富于多变化性,给玩家无限的乐趣,代表作有著名的《信长的野望》系列、《游戏王》系列,包括卡片网游《武侠Online》,从广意上说《王国之心》也可以归于此类。

TAB=Table Game∶桌面游戏
顾名思义,是从以前的桌面游戏脱胎到电脑上的游戏,如各类强手棋(即掷骰子决定移动格数的游戏),经典的象《大富翁》系列;棋牌类游戏也属于TAB,如《拖拉机》、《红心大战》、《麻将》等等。

MSC=Music Game∶音乐游戏
培养玩家音乐敏感性,增强音乐感知的游戏。伴随美妙的音乐,有的要求玩家翩翩起舞,有的要求玩家手指体操,例如大家都熟悉的跳舞机,就是个典型,目前的人气网游《劲乐团》也属其列。

LVG=Love Game∶恋爱游戏
玩家回到初恋的年代,回味感人的点点滴滴,模拟恋爱的游戏。恋爱不是游戏,但偏偏有恋爱游戏,目前的恋爱类游戏主要是为男性玩家服务的,也有个别女性向的。可以训练追求的技术,(和学会忍耐?)代表作有日本的《心跳回忆》系列、《思君》,国人的《青涩宝贝》、《秋忆》等。

ETC=etc. Game∶其他类游戏
指无法归结到已知种类中的游戏,常见于种类丰富的电视游戏,如音乐游戏、某些游戏的周边设定集(如《心跳回忆》屏保壁纸集)等,电脑游戏中较少出现,即使有也多是移植自电视游戏。其实你判定不了的就把它丢这里吧。

WAG=Wap Game∶手机游戏
手机上的游戏。目前游戏随处可以玩,连手机也必带休闲游戏,网民最喜欢手机游戏的种类,益智类比率最高,其次依次为动作类、战略类、模拟类、射击类。列举几个手机游戏例子:《金属咆哮》、《FF7 前传》等.

MUD=泥巴游戏
主要是依靠文字进行游戏的游戏,图形辅助。1978年,英国埃塞克斯大学的罗伊·特鲁布肖用DEC-10编写了世界上第一款MUD游戏——“MUD1”,是第一款真正意义上的实时多人交互网络游戏,这是一个纯文字的多人世界。(这可能就是MUD的命名来源吧?)其他代表作:《侠客行》、《子午线59》、《万王之王》。

MMORPG=Massively Multiplayer Online Role Playing Game∶大型多人在线角色扮演游戏
这个地球人都知道。举几个典型的例子:《网络创世纪》、《无尽的任务》、《A3》、《魔兽》、《轩辕Ⅱ》等!

APE中文帮助|flash As3.0物理引擎培训文档

2011 年 09 月 22 日 at 上午 10:27分类目录:flash actionScript3 | flex/flashBuilder

APE,什么是APE呢。APE(Actionscript Physics Engine)是一个ActionScript3写成的物理引擎,用于模拟现实中物体发生的运动和碰撞。它是免费、开源的,遵循MIT协议。看起来特别适用用来做游戏开发,已经有许多很有趣的应用使用这个开发的 。

官方网址为:http://www.cove.org/ape
下载地址为:http://www.cove.org/ape/ape_a045.zip(包含两个demo,api,swc文件,和源码)
APE中总共才12个类,用起来相当的方便。
AbstractCollection
Group
Composite
AbstractItem
AbstractConstraint
SpringConstraint
AbstractParticle
RectangleParticle
CircleParticle
WheelParticle
Vector
APEngine

下面具体介绍各个类的使用

◆AbstractCollection(子类有:Group和Composite)

此类为群组性的基类。你不应实例化这个类,而应该使用该类的子类。
属性:
constraints 属性
constraints:Array  [只读]
一个数组,包含所有被加入到AbstractCollection中的AbstractConstraint类的实例。
particles 属性
particles:Array  [只读]
一个数组,包含所有被加入到AbstractCollection中的AbstractParticle类的实例。
sprite 属性
sprite:Sprite  [只读]
为渲染和增加children而提供的作为容器使用的Sprite。当这个sprite第一次被请求时,这个sprite会自动的加入到APEngine类的全局容器中。
构造函数:
public function AbstractCollection()
方法:
addConstraint () 方法
public function addConstraint(c:AbstractConstraint):void
在收集器中增加一个约束。
参数 c:AbstractConstraint — 被加入的约束.
addParticle () 方法
public function addParticle(p:AbstractParticle):void
在AbstractCollection中加入一个AbstractParticle
参数p:AbstractParticle — 被加入的粒子
cleanup () 方法
public function cleanup():void
调用AbstractCollection每个成员的cleanup()方法. 当AbstractCollection 从他的父容器中被移除的话,cleanup()方法会自动的被调用。
getAll () 方法
public function getAll():Array
返回一个数组,这个数组包含被加入到AbstractCollection.中的每一个粒子和约束。
init () 方法
public function init():void
通过调用每一个成员的init()方法实例化这个AbstractCollection的每一个成员。
paint () 方法
public function paint():void
通过调用每一个成员的paint()方法来渲染 AbstractCollection的每个成员。
removeConstraint () 方法
public function removeConstraint(c:AbstractConstraint):void
从收集器中删除参数指定的约束。
参数 c:AbstractConstraint — 将被移除的约束。
removeParticle ()方法
public function removeParticle(p:AbstractParticle):void
从AbstractCollection中移除一个AbstractParticle
参数 p:AbstractParticle — 将被移除的粒子

◆Group(继承自AbstractCollection)

组可以包含粒子,约束和复合体。组可以被设置为和其他的组进行碰撞检测。
属性:
collideInternal:Boolean  [读写]
决定这个组内的成员彼此是否进行碰撞检测;
collisionList:Array  [只读]
返回一个数组,这个数组包含所有和这个组进行碰撞检测的所有组的实例。
composites:Array  [只读]
返回一个数组,这个数组包含所有加入到这个组的复合体。
构造函数
public function Group(collideInternal:Boolean = false)
Group是APE中的主要的用于组织的类。一旦创建了组,并把粒子,约束,复合体加入组,那么这些东西也就加入了APEngine。组可以包含粒子,约束和复合体。复合体只能包含粒子和约束。
参数:
collideInternal:Boolean (default = false)
方法:
addCollidable()方法
addCollidable(g:Group):void
加入一个组的实例与这个组进行碰撞检测。
addCollidableList()方法
public function addCollidableList(list:Array):void
加入AbstractCollection实例的数组,让数组中的元素与这个组进行碰撞检测。
addComposite()方法
public function addComposite(c:Composite):void
在这个组中加入复合体
cleanup()方法
public override function cleanup():void
调用组的cleanup()方法将会调用组中所有成员的cleanup()方法。当组从APEngine引擎中移除时,组的cleanup()方法会自动的调用。
getAll()方法
public override function getAll():Array
返回一个包含组中所有粒子,约束,复合体的数组。
init()
public override function init():void
通过依次调用组中每个成员的init()方法来初始化组中的每个成员。
paint()方法
public override function paint():void
Paints 组中的所有成员. 这个方法由APEngine 类自动的调用。
removeCollidable()方法
public function removeCollidable(g:Group):void
从这个组的collidable list中移除一个组。
removeComposite()方法
public function removeComposite(c:Composite):void
从组中移除复合体。
Composite(继承自AbstractCollection)
复合体可以包含粒子和约束。复合体可以加入到一个组中,就像粒子和约束一样。注意:复合体中的成员彼此不能进行碰撞检测。
属性:
fixed:Boolean  [读写]
决定复合体的状态是否固定。设置这个值为true或false将会设置复合体中所有组成的粒子的固定状态为true或false。当复合体中的任何一个粒子的状态为不固定时,这个值返回的都为false。
构造函数:
public function Composite()
方法:
rotateByAngle()方法
public function rotateByAngle(angleDegrees:Number, center:Vector):void
围绕给定的中心,使复合体旋转参数指定的角度。
rotateByRadian()方法
public function rotateByRadian(angleRadians:Number, center:Vector):void
围绕给定的中心,使复合体旋转参数指定的弧度。

AbstractItem(子类有:AbstractConstraint和AbstractParticle)

所有约束和粒子的基类
属性
alwaysRepaint 属性
alwaysRepaint:Boolean  [read-write]
为了更好的运行,为了避免不必要的重绘,固定的粒子和弹性约束不需要调用他们的paint()方法,当一个弹性约束的两端所连接的粒子是固定的话,那么这个弹性约束被认为是固定的。这个属性设置为true的时候,如果粒子和弹性约束的fixed属性也为true的时候,粒子和弹性约束的paint()方法会被强制调用。如果你想要旋转固定的粒子和弹性约束的话,你应该设置他们的repaintFixed属性为true。如果粒子和弹性约束不是固定的话,alwaysRepaint属性是没有效果的。
sprite 属性
sprite:Sprite  [只读]
为渲染和增加children而提供的作为容器使用的Sprite。当这个sprite第一次被请求时,这个sprite会自动的加入到APEngine类的全局容器中。
visible 属性
visible:Boolean  [只写]
决定这个项是否可见。
构造函数
AbstractItem ()
public function AbstractItem()
方法
cleanup () 方法
public function cleanup():void
当包含一个项目(粒子或约束)的组(组或复合体)从APEngine移除的时候,这个方法被自动的调用。
init ()方法
public function init():void
当包含一个项目(粒子或约束)的组(组或复合体)被加到引擎,一个项目(粒子或约束)的复合体被加到组,一个项目(粒子或约束)被加到组或复合体的时候,这个方法会被自动的调用。
paint () 方法
public function paint():void
这个项目的默认的渲染方法。当APEngine.paint()方法被调用的时候会自动的调用这个方法。
setFill () 方法
public function setFill(color:uint = 0xffffff, alpha:Number = 1):void
设置这个项的填充样式。
setLine () 方法
public function setLine(thickness:Number = 0, color:uint = 0×000000, alpha:Number = 1):void
设置这个项的样条线的样式。
setStyle () 方法
public function setStyle(lineThickness:Number = 0, lineColor:uint = 0×000000, lineAlpha:Number = 1, fillColor:uint = 0xffffff, fillAlpha:Number = 1):void
设置这个项的样条线和填充。

AbstractParticle类(子类有:CircleParticle,RectangleParticle)(父类是:AbstractItem)

所有粒子的基类
你不应该实例化这个类,而是应该使用这个类的子类。
属性:
center 属性
center:Vector  [只读]
返回代表粒子当前位置的向量。
collidable属性
collidable:Boolean  [读写]
决定这个粒子是否能和其它的粒子或约束碰撞。默认值为true。
elasticity 属性
elasticity:Number  [读写]
这个粒子的弹性,标准的值在0到1之间。值越大,弹性越大。
在碰撞的过程中,弹性的值是累加的。如果一个粒子的弹性值设为0.4,另一个粒子的弹性制也设为0.4,那么在碰撞的时候弹性值就是0.8了,这和一个粒子的弹性值是0另一个弹性值是0.8产生的效果是一样的。
设置大于1的弹性值(单个粒子大于1或累加后大于1)将会使粒子获得比它原来更多的能量。(尽管现实中不可能,但是这是非常有意思的)
fixed 属性
fixed:Boolean  [读写]
决定粒子是否固定。如果粒子是固定的话,早受到力的作用和在碰撞过程中将保持不动。固定的粒子非常适合用来模拟表面。
friction 属性
friction:Number  [读写]
粒子表面的摩擦系数。值必须在0到1之间
0代表没有摩擦(理想光滑),1代表完全的摩擦(像胶水一样)
在碰撞中,摩擦系数也是累加的,但是被限制在1到0之间。例如,如果两个粒子表面的摩擦系数都是0.7的话,这两个粒子之间最终的摩擦力将会是1(完全的粘在一起)
在当前的版本中,仅仅只考虑动态的摩擦。静态的摩擦在下一个版本中可能会得到支持。
当前的版本有一个bug,那就是当和摩擦系数大于0且不固定的粒子碰撞时会得到错误的行为。一个解决的办法就是,只给固定的粒子设置摩擦系数。
抛出错误
—当摩擦系数的值小于0或大于1时抛出 ArgumentError
mass 属性
mass:Number  [只写]
粒子的质量。大于0的值均为有效值。默认情况下所有的粒子的质量均为1.质量属性和粒子形状的大小没有关系。
抛出错误
— 当质量小于0抛出ArgumentError
multisample属性
multisample:int  [读写]
每一次循环中,进行碰撞检测的中间位置值,在一个快速移动的粒子中把这个值适当的设置大一些可以阻止穿透现象的发生。
position属性
position:Vector  [读写]
粒子的位置属性。为了一些目的,得到粒子的位置是非常有用的。
当你获得粒子的位置的时候,你实际得到的是当前位置信息的一份拷贝。正因为这样,你不能通过修改你从粒子取得的有关位置的向量(Vector)的x参数和y参数来改变粒子的位置。你必须这样做:position=new Vector(100,100),或者你可以用px和py属性来代替。
修改粒子位置的三种方法:改变他的位置(直接),给它设置速度,在它上面应用一个力。设置非固定粒子的位置并不同于把他的fixed属性设置为true那样简单。一个处在它位置属性所指定位置的粒子的行为就好像它连接在一个0长度的弹簧上一样。
px属性
px:Number  [读写]
粒子的x坐标
py 属性
py:Number  [读写]
粒子的y坐标
velocity属性
velocity:Vector  [读写]
粒子的速度。如果你想改变粒子的运动,你应该要么用这个属性,要么用addForce()方法。一般来说,addForce()方法慢慢的改变物体的运动状态,velocity属性适合瞬间的给物体设置一个速度来改变物体的运动状态(例如抛出物体)。
方法:
addForce () 方法
public function addForce(f:Vector):void
给粒子加一个力。当应用这个方法的时候,粒子的质量也考虑在内了,所以对于模拟风之类的效果来说,这个方法是非常适合的。
参数  f:Vector —代表被添加力的向量。
addMasslessForce () 方法
public function addMasslessForce(f:Vector):void
为粒子添加一个忽略质量的力。当用这个方法的时候,粒子的质量被忽略。在模拟类似于重力的力的情况,这个方法很适合。
参数  f:Vector —代表被添加力的向量。
setDisplay () 方法
public function setDisplay(d:DisplayObject, offsetX:Number = 0, offsetY:Number = 0, rotation:Number = 0):void
在渲染粒子的时候,分配一个显示对象(DisplayObject)来使用。
update ()方法
public function update(dt2:Number):void
在APEngine.step()方法中会自动的调用update()方法。用这个方法整合粒子。

RectangleParticle——》AbstractParticle——》AbstractItem

矩形的粒子
属性
angle 属性
angle:Number  [读写]
矩形粒子旋转的度数。
height 属性
height:Number  [读写]
矩形粒子的高度。
radian 属性
radian:Number  [读写]
矩形粒子旋转地弧度。
注:尽管矩形粒子可以被旋转,但是它没有角速度。换句话说,在碰撞中,旋转状态不会改变,因旋转而产生的能量也不会应用到碰撞中。
width 属性
width:Number  [属性]
矩形粒子的宽度。
构造函数
RectangleParticle ()
public function RectangleParticle(x:Number, y:Number, width:Number, height:Number, rotation:Number = 0, fixed:Boolean = false, mass:Number = 1, elasticity:Number = 0.3, friction:Number = 0)
参数
x:Number — 初始x位置
y:Number —初始y位置
width:Number — 这个粒子的宽度
height:Number — 这个粒子的高度
rotation:Number (default = 0) — 这个粒子旋转的弧度.
fixed:Boolean (default = false) —决定这个粒子是否固定。固定的粒子不受力和碰撞的影响,非常适合作为平面。不固定的粒子受力和碰撞的作用自由的移动 。
mass:Number (default = 1) — 粒子的质量
elasticity:Number (default = 0.3) — 粒子的弹性. 值越高弹性越大
friction:Number (default = 0) — 粒子表面的摩擦系数
注意:固定的粒子仍然可以改变它的旋转属性。
方法
init () 方法
public override function init():void
建立矩形粒子的视觉表象,当这个矩形粒子的父组(包含该粒子的组)的实例被加到APEngine中、矩形粒子的复合体被加入到组中、矩形粒子被加入到组或复合体中的时候,这个方法会自动的被调用。
paint () 方法
public override function paint():void
这个矩形粒子默认的渲染方法,这个方法会被APEngine.paint()方法自动的调用。
如果你想要自己定义渲染方法,你可以创建这个类的一个子类,并在子类中覆盖paint()方法。

CircleParticle——》 AbstractParticle——》AbstractItem

子类:WheelParticle
圆形粒子
属性
radius 属性
radius:Number  [读写]
粒子的半径
构造函数
CircleParticle () 构造器
public function CircleParticle(x:Number, y:Number, radius:Number, fixed:Boolean = false, mass:Number = 1, elasticity:Number = 0.3, friction:Number = 0)
参数:
x:Number — 这个粒子的初始x位置.
y:Number — 这个例子的初始y位置.
radius:Number — 粒子的半径.
fixed:Boolean (default = false) —决定这个粒子是否固定。
mass:Number (default = 1) — 粒子的质量.
elasticity:Number (default = 0.3) — 粒子的弹力,值越大弹力越大。
friction:Number (default = 0) — 粒子表面的摩擦力。
方法
init () 方法
public override function init():void
建立圆形粒子的视觉表象,当这个圆形粒子的父组(包含该粒子的组)的实例被加到APEngine中、圆形粒子的复合体被加入到组中、圆形粒子被加入到组或复合体中的时候,这个方法会自动的被调用。
paint () 方法
public override function paint():void
这个粒子默认的渲染方法,这个方法会被APEngine.paint()方法自动的调用。
如果你想要自己定义渲染方法,你可以创建这个类的一个子类,并在子类中覆盖

WheelParticle ——》 CircleParticle ——》 AbstractParticle ——》 AbstractItem

用于模拟轮子行为的粒子
属性
angle 属性
angle:Number  [只读]
轮子旋转的角度
angularVelocity 属性
angularVelocity:Number  [读写]
轮子粒子的角速度。你可以通过修改这个值使轮子粒子旋转起来。
radian 属性
radian:Number  [只读]
轮子旋转的弧度
speed 属性
speed:Number  [读写]
轮子粒子的速度,你可以通过修改这个值使轮子旋转。
traction 属性
traction:Number  [读写]
在碰撞中牵引力的大小。这个属性决定了当轮子粒子和其它的粒子接触是到底有多少牵引力作用在轮子粒子上。如果这个值设为0,将不会有牵引力,就好像与轮子接触的平面是完全光滑的那样。这个值应该在0到1之间。
注意:frection(摩擦系数)和traction(牵引力)的行为是不同的。当轮子粒子在一个摩擦系数非常打的平面运动时,轮子粒子的运动速度将非常慢,好像平面上涂满了胶水。
构造函数
WheelParticle () 构造器
public function WheelParticle(x:Number, y:Number, radius:Number, fixed:Boolean = false, mass:Number = 1, elasticity:Number = 0.3, friction:Number = 0, traction:Number = 1)
参数:
x:Number —初始x位置
y:Number —初始y位置.
radius:Number — 粒子的半径.
fixed:Boolean (default = false) — 决定这个粒子是否是固定的。
mass:Number (default = 1) — 粒子的质量
elasticity:Number (default = 0.3) — 粒子的弹力。值越大塔里越大。
friction:Number (default = 0) —粒子表面的摩擦力。
traction:Number (default = 1) — 粒子表面的牵引力。
注:固定的轮子粒子也可以自由度旋转
方法
init ()方法
public override function init():void
建立粒子的视觉呈现。当粒子被加入到引擎时这个方法自动被调用。
paint () 方法
public override function paint():void
这个粒子默认的渲染方法。在快速的测试中你应该仅仅用这个默认的paint()方法。如果你有自己的特殊的要求,你应该自己写一个类,要么让这个类继承APE中的粒子或约束,要么把他们组合在一起。然后在你自己的类中定义你自己的渲染方法。
update () 方法
public override function update(dt:Number):void

AbstractConstraint(父类是:AbstractItem)(子类有:SpringConstraint)

你不应实例化这个类,而应该使用它的子类。
属性
stiffness 属性
stiffness:Number  [read-write]
是约束变得僵硬,值越大越僵硬。这个值应该在0到1之间。根据运行的情况,这个直设的过高会导致应用不稳定。

SpringConstraint——》  AbstractConstraint ——》 AbstractItem

一个像弹簧的约束,用来连接两个物体。
属性
angle属性
angle:Number  [只读]
连接在这个SpringConstraint(弹簧约束)上的两个粒子的位置所构成的角度。你可以在渲染方法中应用这个属性和center属性。
center 属性
center:Vector  [只读]
连接在这个SpringConstraint(弹簧约束)上的两个粒子的位置的中心。你可以在渲染方法中应用这个属性和旋转属性。
collidable 属性
collidable:Boolean  [只读]
决定两个粒子之间的区域是否接受碰撞检测。如果这个属性打开的话(即为true),你可以修改rectHeight属性和rectWidth属性来修改接受碰撞检测区域的尺寸大小。
currLength 属性
currLength:Number  [只读]
返回弹簧约束(SpringConstraint)的长度,即两个被链接的粒子的距离。
fixed 属性
fixed:Boolean  [只读]
如果被链接的两个粒子的fixed属性都为true时返回true。
fixedEndLimit 属性
fixedEndLimit:Number  [读写]
当弹簧约束(SpringConstraint)为可接受碰撞的并且两端的粒子只有一个是固定的,这个值将处理固定端粒子附近的碰撞,纠正难以解决的碰撞问题。这个值在0.0到1.0之间。
radian 属性
radian:Number  [只读]
连接在这个SpringConstraint(弹簧约束)上的两个粒子的位置所构成的旋转的值。你可以在你自定义的渲染方法中应用这个属性和center属性。
rectHeight 属性
rectHeight:Number  [读写]
如果collidable属性为true,你可以设置这两个粒子之间能接受碰撞的矩形区域的高度。这个值是大于零的。如果你设置这个值为10,那么碰撞区域矩形的高度为10像素,这个高度与两个连接的粒子的连线垂直的。
rectScale属性
rectScale:Number  [读写]
如果collidable属性为true,你可以设置这两个粒子之间能接受碰撞的矩形区域的缩放。有效值在0到1之间。如果你将值设为1,这个碰撞区域将扩展到来被链接的两个粒子处。设置一个较低的值,会使碰撞区域按距离的百分比缩放。这个值设的过大会使碰撞矩形扩张甚至超过两端的粒子。
restLength 属性
restLength:Number  [读写]
restLength 属性设置弹簧约束(SpringConstraint)的长度。如果两端的粒子位置没有因受到外力而改变的话,那么这个属性的值等于两端粒子的距离。弹簧约束将总是试着使两个粒子的距离等于这个属性的值。这个值必须大于0.
构造函数
SpringConstraint ()
public function SpringConstraint(p1:AbstractParticle, p2:AbstractParticle, stiffness:Number = 0.5, collidable:Boolean = false, rectHeight:Number = 1, rectScale:Number = 1, scaleToLength:Boolean = false)
参数:
p1:AbstractParticle — 约束所连接的第一个粒子。
p2:AbstractParticle — 约束所连接的第二个粒子。
stiffness:Number (default = 0.5) —弹簧的强度。有效值在0到1之间。低值的效果就像软弹簧,高值的效果如同硬弹簧。
collidable:Boolean (default = false) — 决定此约束是否接受碰撞检测。
rectHeight:Number (default = 1) —如果这个约束是可接受碰撞检测的,可碰撞的区域的高度可设置为像素值。高度和被链接的两个粒子的连线垂直。
rectScale:Number (default = 1) —如果这个约束是可接受碰撞检测的,可被碰撞的区域的缩放可被设置为一个0到1之间的值。这个缩放是两个被链接的粒子之间的距离的一个百分数。
scaleToLength:Boolean (default = false) —如果这个约束是可接受碰撞检测的并且这个值设为true时,可接受碰撞的区域将随着两个粒子的距离而缩放。
方法
init ()方法
public override function init():void
建立弹簧约束的视觉呈现。当此弹簧约束的父组的实例被加到APEngine中、此弹簧约束的复合体被加到组中、次弹簧约束被加到复合体或组中的时候,这个方法会自动的被调用。
isConnectedTo () 方法
public function isConnectedTo(p:AbstractParticle):Boolean
如果传递给此函数的参数是被链接的两个粒子之一则返回true。
参数  p:AbstractParticle
返回  Boolean
paint () 方法
public override function paint():void
这个约束的默认渲染方法。这个方法由APEngine.paint()自动的调用。如果你想要自定义渲染方法,你可以创建一个这个类的子类,并在子类中覆盖paint()方法。
setCollidable ()方法
public function setCollidable(b:Boolean, rectHeight:Number, rectScale:Number, scaleToLength:Boolean = false):void
参数:
b:Boolean
rectHeight:Number
rectScale:Number
scaleToLength:Boolean (default = false)
setDisplay ()方法
public function setDisplay(d:DisplayObject, offsetX:Number = 0, offsetY:Number = 0, rotation:Number = 0):void
当渲染这个约束时分配一个显示对象以备使用。
参数
d:DisplayObject
offsetX:Number (default = 0)
offsetY:Number (default = 0)
rotation:Number (default = 0)

Vector类

属性
x 属性
public var x:Number
y 属性
public var y:Number
构造函数
Vector () constructor
public function Vector(px:Number = 0, py:Number = 0)
参数:
px:Number (default = 0)
py:Number (default = 0)
方法
copy () 方法
public function copy(v:Vector):void
参数:
v:Vector
cross () 方法
public function cross(v:Vector):Number
参数
v:Vector
返回:
Number
distance () 方法
public function distance(v:Vector):Number
参数:
v:Vector
返回
Number
divEquals ()方法
public function divEquals(s:Number):Vector
参数
s:Number
返回
Vector
dot () 方法
public function dot(v:Vector):Number
参数:
v:Vector
返回:Number
magnitude ()方法
public function magnitude():Number
返回 :Number
minus () 方法
public function minus(v:Vector):Vector
参数:
v:Vector
返回
Vector
minusEquals ()方法
public function minusEquals(v:Vector):Vector
参数:
v:Vector
参数
Vector
mult ()方法
public function mult(s:Number):Vector
参数:
s:Number
返回
Vector
multEquals () 方法
public function multEquals(s:Number):Vector
参数
s:Number
返回
Vector
normalize ()方法
public function normalize():Vector
返回
Vector
plus () 方法
public function plus(v:Vector):Vector
参数
v:Vector
返回
Vector
plusEquals () 方法
public function plusEquals(v:Vector):Vector
参数
v:Vector
返回
Vector
setTo () 方法
public function setTo(px:Number, py:Number):void
参数
px:Number
py:Number
times () 方法
public function times(v:Vector):Vector
参数:
v:Vector
返回
Vector
toString () 方法
public function toString():String
放回
String

APEngine这是一个静态的类,所以里面的所用的属性和方法都是静态的。

属性:
constraintCollisionCycles属性
constraintCollisionCycles:int (读写)
决定在一个APEngine.step()中约束条件和位置更正的次数,这个参数能很好的增加系统的稳定性和阻止穿透现象,尤其是在约束和粒子比较复杂的情况中。这个数字越大,系统越稳定,当然消耗的资源也比较多。
此属性和constraintCycles属性的不同之处在于它在一个APEngine.step()中同时解决了Constraints和collisions。此属性的默认值是1.
constraintCycles属性
constraintCycles:int(读写)
此属性的默认值是0,和constraintCollisionCycles属性类似,不同之处在于它只解决约束问题。
container属性
container:DisplayObjectContainer(读写)
粒子和约束的painting方法默认的容器。如果你要用到内建的painting方法,你必须首先设置它。
damping属性
damping:Number(读写)
全局的阻力,值在0到1之间。值越大阻力越小,当值为一时,没有阻力。当值为0时,所有的粒子都不能运动了(因为阻力太大了)。默认值为1.
damping会减慢你的模拟速度使你的模拟更稳定。如果你发现你的模拟出现跑飞现象,试着更正damping的值。
方法:
addForce()方法
addForce(v:Vector):void
给系统中的所有粒子增加一个力。当用这个方法的时候,粒子的质量也会考虑在内,它在模拟系统中类似风的力是非常有效的。质量大的物理受这个力的影响将小于质量小的物体。注意:物体的尺寸不影响物体的物理行为。
参数:v:Vector——一个矢量,用来代表加入到系统中的力。
addGroup()方法
addGroup(g:Group):void
参数g:Group
addMalllessForce()方法
addMalllessForce(v:Vector):void
为系统中的所有粒子增加一个无质量的力,在用这个方法的时候,粒子的质量不考虑在内。用它来模拟类似于重力的力是非常有效的。
参数:v:Vector——一个矢量,用来代表加入到系统中的力
init()方法
init(dt:Number=0.25):void
初始化引擎,在你增加任何粒子和约束之前必须调用这个方法。
参数:默认值为1/4,经典的取值为1/3或1/4。这是引擎的时间间隔值。这个值和step()方法共同决定了模拟的速度。这个值越低,模拟的速度越低,但是更精确,这个值越高,模拟的速度也越快,但是不精确。注意:这个值只影响粒子所受的力,如果你没有加入力的话,这个值是无关紧要的。
paint()方法
paint():void
调用这个方法将会依次的调用粒子和约束的paint()方法。通常你要在主程序的循环中调用这个方法。
step()方法
step():void
引擎的主要函数,持续不断的调用这个函数才能使模拟不断的进行下去。这个方法被调用的频率越快,模拟的速度也越快。

把外部文本的回车换行替换成br

2011 年 07 月 07 日 at 上午 11:49分类目录:flash actionScript3

把外部文本的回车换行替换成<br/>解决导入进来的段落间隔太大。

var loader:URLLoader = new URLLoader();

loader.load(new URLRequest(“a.txt”));

loader.addEventListener(Event.COMPLETE,onComplete);

function onComplete(e:Event):void{

var reg:RegExp = /\r\n/g;

var str:String = String(e.target.data).replace(reg,”<br/>”);

tf.htmlText = str;

}

使用上面的代码将外部文档识别的换行符“\r\n”替换为html换行符“<br/>”即可。

另外 :在Windows操作系统下换行符为\r\n,而在Linux系统下则是\n,使用时请注意~~

Flash转为HTML5 使用google Swiffy

2011 年 06 月 30 日 at 上午 9:42分类目录:业界动态

众所周知,苹果对 于Flash的态度很明确,对比HTML5,后者无疑更为苹果所偏爱。日前,与苹果亦敌亦友的谷歌日前发布了一套基于网页的工具“Swiffy”,这套针 对设备能够将.SWF格式的Flash文件转化为HTML5,用谷歌自己的原话来说就是“让没有Flash播放器的设备(例如iPhone以及iPad)也能享受Flash内容”。

操作步骤

第一步:打开转化网站 http://swiffy.googlelabs.com/如下图所示

第二步:选择【浏览】。准备你要转化的flash文件。

第三步:【upload and convert】上传并转化flash文件为html5格式。

第四步:下载转化好的flash文件。

这是一个Web版的工具,我们找了一些相对比较简单的Flash动画来进行测试。令人惊喜的是,Swiffy在转换SWF文件到HTML5的过程中 表现得比较出色,但不要对最新版的Flash游戏或者复杂的交互版Flash抱太大希望,毕竟把这些东西转换成HTML5不是Swiffy轻易能够做到 的。

谷歌本身对Swiffy的定位也很清楚,一句话,奇迹很难发生。“Swiffy现阶段支持SWF 8以及ActionScript 2.0的子集,且转换功能只能够在Webkit核心的浏览器中使用(Chrome或者移动版的Safari),建议用户提交SWF 5文件,因为那样效果可能会更好,”谷歌补充道。

上述这些限制让这款工具的象征意义大于实际作用。尽管Google和Adobe进行了深度的合作,并在Android后 期的手机中提供了对Flash的支持,但他们仍然在努力将网页从Flash视频中解放出来。虽然其他类似的转换工具此前也有出现,但在Google的支持 下,可能Swiffy会有更长远的发展潜力,我们也期待看到它为不支持Flash的移动设备(例如苹果设备)带来新的改变。

flash as点击按钮打开文件夹命令。

2011 年 06 月 15 日 at 下午 4:09分类目录:flash actionScript3

btn.addEventListener(MouseEvent.CLICK,onClick);//对btn注册点击事件,点击后执行onClick函数

//定义onClick函数

function onClick(e:MouseEvent):void

{
navigateToURL(new URLRequest(“file:///D:/”));//打开D盘
}

flash as3和flex常用htmlText标签

2011 年 06 月 12 日 at 下午 9:28分类目录:优普天下UPFLASH

标签 说明
锚标签 <a> 标签创建超文本链接并支持以下属性:

  • target:指定加载页面的目标窗口的名称。 选项包括 _self_blank_parent_top_self 选项指定当前窗口中的当前帧,_blank 指定一个新窗口,_parent 指定当前帧的父级,而 _top 指定当前窗口中的顶级帧。
  • href:指定 URL 或 ActionScript link 事件。该 URL 可以是绝对路径,也可以是相对路径(相对于加载该页的 SWF 文件的位置)。http://www.adobe.com 示例表示对 URL 的绝对引用;/index.html 示例表示相对引用。 绝对 URL 必须以 http:// 为前缀,否则 Flash 会将其视为相对 URL。 可以使用 link 事件使链接执行 SWF 文件中的 ActionScript 函数,而不是打开 URL。 若要指定 link 事件,请在 href 属性中使用 event 方案,而不是 http 方案。 例如,使用 href="event:myText" 而不是 href="http://myURL";当用户单击包含 event 方案的超文本链接时,文本字段将调度 link TextEvent,并将其 text 属性设置为“myText”。 可随后创建一个 ActionScript 函数,每次调度 link TextEvent 时都会执行该函数。 还可以使用样式表为锚标签定义 a:linka:hovera:active 样式。
粗体标签 <b> 标签以粗体形式呈现文本。 粗体必须可用于所使用的字体。
换行标签 <br> 标签将在文本字段中创建一个换行符。 将文本字段设置为多行文本字段以使用此标签。
字体标签 <font> 标签指定一种字体或一个字体列表来显示文本。字体标签支持以下属性:

  • color:只支持十六进制颜色 (#FFFFFF) 值。
  • face:指定要使用的字体的名称。 如下例所示,您可以指定一个以逗号分隔的字体名称的列表,在这种情况下,Flash Player 选择第一个可用字体。 如果本地计算机系统上未安装指定的字体,或 SWF 文件中未嵌入指定的字体,则 Flash Player 将选择替代字体。
  • size:指定字体的大小。 您可以使用绝对像素大小(如 16 或 18),也可以使用相对磅值(如 +2 或 -4)。
图像标签 使用 <img> 标签可将外部图像文件(JPEG、GIF、PNG)、SWF 文件和影片剪辑嵌入到文本字段中。 在文本字段中,文本在嵌入的图像旁自动换行。 您必须将文本字段设置为多行才能在图像周围绕排文本。<img> 标签支持以下属性:

  • src:指定图像或 SWF 文件的 URL,或库中影片剪辑元件的链接标识符。 此属性是必需的,所有其它属性都是可选的。 外部文件(JPEG、GIF、PNG 和 SWF 文件)只有在完全下载之后才能显示。
  • width:所插入的图像、SWF 文件或影片剪辑的宽度(以像素为单位)。
  • height:所插入的图像、SWF 文件或影片剪辑的高度(以像素为单位)。
  • align:指定文本字段中嵌入图像的水平对齐方式。 有效值为 leftright。 默认值为 left
  • hspace:指定图像周围不显示任何文本的水平空间量。 默认值为 8。
  • vspace:指定图像周围不显示任何文本的垂直空间量。 默认值为 8。
  • id:指定包含嵌入的图像文件、SWF 文件或影片剪辑的影片剪辑实例(由 Flash Player 创建)的名称。 此方法可用于使用 ActionScript 控制嵌入的内容。
  • checkPolicyFile:指定 Flash Player 将在与图像域相关的服务器上查找 URL 策略文件。如果存在策略文件,则此文件中列出的域中的 SWF 文件可以访问所加载的图像的数据,例如,通过使用此图像作为 source 参数来调用 BitmapData.draw() 方法。有关详细信息,请参阅《ActionScript 3.0 编程》中的“Flash Player 安全性”一章。

Flash 以完全大小显示文本字段中嵌入的媒体。 若要指定嵌入的媒体的尺寸,请使用 <img> 标签的 heightwidth 属性。

通常情况下,文本字段中嵌入的图像显示在 <img> 标签后的行上。 但是,如果 <img> 标签是文本字段中的第一个字符,则该图像显示在文本字段的第一行上。

斜体标签 <i> 标签以斜体形式显示标签中的文本。 斜体必须可用于所使用的字体。
列表项标签 <li> 标签在所包含的文本前放置项目符号。 注意:因为 Flash Player 无法识别有序和无序列表标签(<ol><ul>),所以这些标签无法修改列表的呈现方式。 所有列表都是无序的,所有列表项都使用项目符号。
段落标签 <p> 标签创建一个新段落。 必须将文本字段设置为多行文本字段才能使用此标签。<p> 标签支持以下属性:

  • align:指定段落内文本的对齐方式;有效值为 leftrightjustifycenter
  • class:指定 flash.text.StyleSheet 对象定义的 CSS 样式类。
Span 标签 <span> 标签只可用于 CSS 文本样式。 它支持以下属性:

  • class:指定 flash.text.StyleSheet 对象定义的 CSS 样式类。
文本格式标签 使用 <textformat> 标签可在文本字段中使用 TextFormat 类的段落格式设置属性的子集,其中包括行距、缩进、边距和 Tab 停靠位。 您可以将 <textformat> 标签与内置 HTML 标签结合使用。

<textformat> 标签具有以下属性:

  • blockindent:指定块缩进(以磅为单位);对应于 TextFormat.blockIndent
  • indent:指定从左边距到段落中第一个字符的缩进;对应于 TextFormat.indent。 正数和负数均可以接受。
  • leading:指定行与行之间的前导量(垂直间距);对应于 TextFormat.leading。 正数和负数均可以接受。
  • leftmargin:指定段落的左边距(以磅为单位);对应于 TextFormat.leftMargin
  • rightmargin:指定段落的右边距(以磅为单位);对应于 TextFormat.rightMargin
  • tabstops:将自定义 Tab 停靠位指定为一个非负整数的数组;对应于 TextFormat.tabStops
下划线标签 <u> 标签为标签文本添加下划线。

Flash Player 支持以下 HTML 实体:

实体 说明
< < (小于)
> > (大于)
& &(和)
“(双引号)
‘(撇号,单引号)

Flash 还支持显式字符代码,如 &#38;(ASCII 和号)和 &#x20AC;(Unicode € 符号)。

flash互动投影系统介绍

2011 年 06 月 05 日 at 上午 12:04分类目录:优普天下UPFLASH

互动投影系统,提供具有创意内容的企业用户品牌广告和互动展示效果。也为相关单位的形象提升提供服务。
互动投影系统为融合当今世界最高科技的广告和娱乐互动系统;互动影音系统提供一种不同寻常并激动人心的广告与娱乐交相辉映的效果系统,适用于所有公共室内场所,特别是休闲、购物、娱乐及教育场所。
广告领域的重大变革
互动投影系统可以提供多种信息包括人们所想或所需的各种画面和图案,以其独特的方式来表达的新型的广告形式,同时还打破了传统静态广告毫无娱乐性的传统悬挂风格;互动影音系统的出现已代表着一种新型的现代广告模式,能吸引所有的人群驻足观看和互动,有很好的宣传效果。
消费场所的新亮点
互动投影系统奇幻的视觉效果和美妙的动感将吸引所有的顾客、现场观众甚至是路人的驻足停留和互动观看,并通过其互动画面和声音变幻使所有的顾客和观众参与其中,从而提升娱乐和休闲的内在吸引力,促进消费和再消费,特别适合于迪吧、酒店、KTV、酒吧等休闲娱乐场所。
应用目标
科技馆、规划馆、博物馆、行业展馆、主题展馆、企业展厅等诸多常年展馆/展览会现场/商场/大卖场/酒店宾馆/酒吧/迪厅KTV/新产品发布、促销活动/ 婚庆婚典/写字楼/演出场馆/广场等传统用多媒体技术无法实现的场所.
互动投影传媒应用的典型例子:
互动投影系统运用的技术为混合虚拟现实技术与动感捕捉技术,是虚拟现实技术的进一步的发展。虚拟现实是通过计算机产生三维影像,提供给用户一个三维的空间并与之互动的一种技术。通过混合现实,用户在操控虚拟影像的同时也能接触真实环境,从而增强了感官性。
系统应用的优点:
1、吸引人流,新奇的互动效果必然会吸引和引导人流的参观,同时好的设计和艺术效果为博物馆增加互动气氛。
2、导引方向,可以用作功能式,比如智能的博物馆指引、查询,比起以往传统的指示牌查询屏得更加人性化。
3、非接触式的交流,更加人性化,同时减少了因人流接触而产生细菌传染。
4、经济效益,新媒体艺术可以做成实时互动广告的形式,让游客与宣传内容互动,增加了博物馆的知名度,加深了游客对博物馆的印象,博物馆得到宣传的同时娱乐了观众,一举三得。
互动投影系统平台形式包括
地面互动投影展示平台、立面互动投影展示平台、球面互动展示平台、台面互动展示平台.
互动投影技术发展水平
目前虚拟互动技术已完成人机交互部分,并有多种与自然或虚拟世界的仿真模拟。互动投影的反应延时在0.05秒内,可与国外同类产品媲美,在国内属于领先地位。

互动投影原理:
互动投影系统的运作原理首先是通过捕捉设备(感应器)对目标影像(如参与者)进行捕捉拍摄,然后由影像分析系统分析,从而产生被捕捉物体的动作,该动作数据结合实时影像互动系统,使参与者与屏幕之间产生紧密结合的互动效果。
投影机投射的光线是可见光部分,它的红外部分被它内部的过滤膜过滤掉了,这样对于摄像机来讲它看不到投影机投射的内容,如果红外线如果强的话,摄像机就可以看见人体了。怎样加强摄像机看到的物体的图像呢,幸运的是目前市场上这样红外主动发射技术已经很成熟了,例如监控市场上卖的那种夜视摄像头就可以发射近红外(850 nm), 功率更大的有专门的远距离红外灯,不过目前夜视摄像头可以达到5m的距离,所以不需要了。夜视摄像头主动发射红外,然后ccd传感器接受红外,那么互动投影中最难的部分,人体与背景虚拟对象的分割就解决了,摄像机得到的是一副黑白的单色背景的包括人的图像。 下一步,检测人体的运动,采用的是图像差分技术,差分就是把摄像头得到的连续两帧的图像进行相减,那么得到的是什么呢,得到的是运动的部分,所以说只要人在动,差分就会把动的部分截取下来。接下来就是分析得到的数据了,再将虚拟部分投射出来了。当然复杂的互动投影不只是这些技术,这些只是最基本的原理了,其间还涉及到摄像机的标定,光流法寻找运动方向,性能的优化处理,特殊的效果。互动投影原理图
互动投影系统的组成
互动系统由四个部分组成第一部分:信号采集部分,根据互动需求进行捕捉拍摄,捕捉设备有红外感应器、视频摄录机、热力拍摄器等;第二部分:信号处理部分,该部分把实时采集的数据进行分析,所产生的数据与虚拟场景系统对接;第三部分:成像部分,利用投影机或其他显像设备把影像呈现在特定的位置,显像设备除了投影机外,等离子显示器、液晶显示器、LED屏幕都可以作为互动影像的载体.第四部分:辅助设备,如传输线路,安装构件,音响装置等。
互动投影的系统安装
以使用投影机成像设备为例,第一部分与第三部分的设备均安装在天花板下(部分地方为悬空吊装),安装时注意预留足够的位置,一般情况下预留0.3~0.5立方米空间已经足够,安装位置需提供良好的通风散热条件。第二部分设备安装在特定的机房中。
互动投影系统的调试
第一、以使用投影机成像设备为例,虚拟投影互动系统现场的安装调试过程与投影机吊装调试技术接近,需要工程技术人员把投影图像准确投射到制定区域中;第二、不同的捕捉设备有专门的调试技术要求。
互动投影的系统维护
第一、定期检查捕捉设备,捕捉设备是虚拟互动系统的第一个环节,其工作状态直接影像整个系统的运作。检查内容包括电源检查,安装位置有否易位,清洁保养等;第二、定期对投影设备、互动服务器以及地砖进行保洁清洗,保持优质影像与良好的散热。

Adobe CEO(纳拉延):与苹果的Flash争议已结束

2011 年 06 月 03 日 at 上午 8:30分类目录:业界动态

网易科技讯 6月3日消息,据AllThingsD报道,Adobe系统首席执行官山塔努·纳拉延(Shantanu Narayen)在D9:All Things Digital会议上表示,他的公司与苹果在Flash上的争议已经成为历史。

去年苹果首席执行官史蒂夫·乔布斯批评Flash存在漏洞,禁止苹果iPhone和iPad使用该软件。周四纳拉延表示,这是与苹果的小插曲,“是的,从我们的观点来看争论已经结束。我们对现有的机会感到兴奋。我们关注的是这点”。

纳拉延称,就收入来看,Flash只占公司营收的很小部分。当被问及他与乔布斯的争议是什么时,他称,很显然不是技术,而是业务模式和对平台的控制。他表示:“问题在于应用店的控制。我们允许人们制作内容并尽可能广泛地发布。到年底,将有1.3亿部手机使用Flash”。

乔 布斯已批准使用由苹果和谷歌等组成的一个联盟开发的新兴网络标准HTML5。对此纳拉延称:“欢迎向HTML5转变,我们将积极促进其发展”。当被问及这 可能与Flash竞争,为什么还要支持HTML5时,他表示,可从销售帮助减少用户制作内容的复杂性的工具上赚钱,固有的业务模式没有改变。

在谈到平板电脑时,纳拉延称:“我认为以后平板电脑将成为生产力设备。我们将提供所有的创作工具,并已经在平板电脑上提供了PhotoShop。我们的创作社区将通过这些设备分享图片”。

请注意不是所有android2.2手机都支持flash播放

2011 年 05 月 31 日 at 下午 12:43分类目录:优普天下UPFLASH

由于Flash功能需要CPU是ARMv7构架以上的产品,但是此款手机的CPU是采用ARMv6构架,所以不被支持

以下是upflash和三星客户的对话。三星客户回答专业,及时,礼貌。

Agent1914 :
您好,请问有什么可以帮助您的吗?
用户 :
你好,请问三星手机android2.2支持flash播放吗
Agent1914 :
不是所有型号都支持的
Agent1914 :
请问您的手机是什么型号的呢?
用户 :
S5830
Agent1914 :
不支持
用户 :
i9003支持吗
Agent1914 :
支持
用户 :
是硬件不支持吗。我见网上人说cup比较低端。
Agent1914 :
由于Flash功能需要CPU是ARMv7构架以上的产品,但是此款手机的CPU是采用ARMv6构架,所以不被支持,给您带来不便了,请谅解
用户 :
谢谢你非常专业的回答!

flashDevelop代码片段设置 for

2011 年 05 月 24 日 at 下午 9:05分类目录:优普天下UPFLASH

通过设置flashDevelop(一下简称fd)的代码段。可以进一步加快编码速度。

在fd里输入for然后按【ctrl+B】,会自动补全for代码结构体。

for(var i:int;i<   ;i++){}

如果同意函数内部执行同样的步骤会出现同样的for结构体。包括var i:int;这样就到这i定义重复。通过修改for代码段。可以改进程序。改进方法如下:

fd菜单→【工具】→【代码段编辑器】→左侧栏选择【for】界面如下:

把默认的代码段删除。替换成下面的代码:

for (var $(ItmUniqueVar):int = 0; $(ItmUniqueVar) < len ; $(ItmUniqueVar)++) $(CSLB){

}

操作完成后。当再次输入for 【ctrl+B】,出现的for结构体内的变量会自动变化,避免重复定义!

www.upflash.cn带您轻松掌握flash AS3.0