
![]()
规则:
1、轮流拖动棋子到任意方格中
2、白子的目的是从左侧到右侧形成一条通路,黑子的目的是从下至上形成一条通路。先形成通路的赢。
3、白子黑子都由人控制。
这里使用A*寻路算法只是判断是否已经赢了。
![]()
详情请看这里ConvolutionFilter做烟火特效
在Flash里当需要动态加载XML、图片、声音、视频或者仅仅要加载变量都需要指定路径,大多数时候路径并不是一个,特别是需要加载一系列图片的时候,这时候路径往往是由几个变量相加而成,这种情况下往往会造成路径中文件夹分隔符可能会是不止1个/,今天遇到的一种情况是加载视频时,生成的路径里使用了两个/作为文件夹分隔符,比如本来应该是flvfile/1/test.flv,结果写成了flvfile/1//test.flv,在我机器上测试很正常,但是换了个机器后视频无法加载,提示streamNotFound,把路径改成flvfile/1/test.flv后加载正常。而加载图片时,尽管路径里也都有两个/,但是在两台机器上均正常显示!
不解.~~~~
利用发光滤镜GlowFilter和圆形,可以作出漂亮的遮罩效果。如下:
详情请看这里GlowFilter+圆形做的图片轮换效果
![]()
AS Code
// 遍历节点parentXML下的所有子节点,要求节点都具有名为label的属性,以便trace结果,或者有其他可供trace的属性也可 function parse_xml(parentXML:XMLNode) { var xmlNode:XMLNode = parentXML.firstChild; while(xmlNode != null) { trace(xmlNode.attributes["label"]) // 如果当前节点有子节点,则转入子节点 if(xmlNode.hasChildNodes()) { trace("进入子节点") xmlNode = xmlNode.firstChild; continue; } // 如果当前节点的同级下一个节点不为null,显示同级下一个节点 if(xmlNode.nextSibling != null) { xmlNode = xmlNode.nextSibling continue } // 如果同级下一个节点为null,父节点不为null,父节点不为统计的最顶层节点,则循环回溯 while(xmlNode.parentNode != null && xmlNode.parentNode != parentXML && xmlNode.nextSibling == null) { xmlNode = xmlNode.parentNode; } xmlNode = xmlNode.nextSibling } }
[问题描述]:a.swf文件中使用ComboBox组件做了下拉框,单独打开a.swf,下拉框正常,b.swf是个外框文件,现在要用b.swf把a.swf加载到b.swf里的一个MC里,结果a.swf中的下拉框不正常了,下拉框里的项是正常的,就是点击后打不开列表,经测试,ComboBox的open事件也触发了,但是就是不显示列表。
[探索]:查遍Flash帮助、Flash组件帮助也没找到答案。无奈,只好打开ComboBox.as文件,看代码,700多行代码可不好看。在打开组件源文件,把ComboBox的组件源MC拖到新文件t1.fla里,然后在ComboBox.as里查找open事件,会看到它调用的是displayDropdown函数,然后再找到这个函数定义的地方,一句句读,看到一句
AS Code
var dd = __dropdown;
,从字面意思猜,它就应该是那个下拉弹出框,所以在它后面添加一句
AS Code
trace("dd " + dd);
,重新导出t1.fla,看到了trace出的语句dd _level0.depthChild0,然后新建t2.fla,新建空元件load,把load拖到舞台上,使用load作为容器加载t1.swf,结果trace出来是dd null,显然问题就出在这里。
(阅读全文…)