1.删除字符串2端空白
/(^\s+)|(\s+$)/
/^\s*(\S+(?:\s+\S+)*)\s*$/
2.字符串中双引号中的字符
/"([^"]*)"/
/".*?"/
3.提取歌手及歌曲名
比如:yui -- sky.mp3
/((?!\.mp3).)*/
得到:
yui -- sky
1.删除字符串2端空白
/(^\s+)|(\s+$)/
/^\s*(\S+(?:\s+\S+)*)\s*$/
2.字符串中双引号中的字符
/"([^"]*)"/
/".*?"/
3.提取歌手及歌曲名
比如:yui -- sky.mp3
/((?!\.mp3).)*/
得到:
yui -- sky
as2里面和as3一样,都有个startDrag()方法,很好用,看了as3 game university后,里面有个基础拖拽例子,是运用了point类来获取点击Sprite后的当前坐标。
Continue reading
as3中的flash.text包中有个staticText类,这就是静态文本类,现在可以通过代码来访问手工创建的静态文本了,我在舞台上输入一个静态文本"ronaldo";这个静态文本类是继承自DisplayObject。可以看到在trace的就是舞台上的静态文本,但是水平的文本就行,好像垂直的文本没有trace到???????
Continue reading
as3里面的TextField和TextFormat多了很多有用的属性和方法,今天试了个TextField类的setTextFormat方法,as2里面这个方法的运用,就是先申明个TextFormat对象,设置一些需要的属性,然后通过TextField对象来实现这些属性。as3也是一样的,但是还多了2个可以设置的属性,beginIndex,endIndex,可以控制位于这两个属性中的字段的format,而不属于此字段的则不受影响。
现在as3中可以把时间轴动画转为代码了,试了下,做了个补间动画,选中这些补间动画的时间轴,右键转为as3代码,这些代码是xml形式的,记录了补间动画的一些基本信息。
新建一个fla,可以把这些代码运用到其他的DisplayObject中。使其动起来,可以通过构造Animator类的构造函数来完成。
//From top-Down
while(numChildren > 0)
{
removeChildAt(numChildren-1)
}
//Frombottom-up
while(numChildren > 0)
{
removeChildAt(0);
}
这里要注意,不要使用for循环来删除,eas3里的解释是这样的。大家可以试试看啊
for (var i:int = 0; i < numChildren; i++) { removeChildAt(i); }
如果有3个displayObject---a,b,c,深度分别为0,1,2
那么第一次删掉了a,numChildren从3变为2,as3深度会自动排列,也就是原来的深度会自动补齐被删除的,那么i++后,我们删掉深度为1的那个,各displayobject深度继续向前排列,至此我们发现,这个循环结束后,并没有全部删掉。因为深度是会自己向前补齐的,但是变量i一直在加的。所以舞台上的DisplayObject不会全部删除。
舞台上有个手工建立的MovieClip实例,属性名为mc。新建一个文档类Test来访问它,并改变它的alpha属性值,因为我不需要在时间轴中书写代码,也就是脱离时间轴,所以我让文档类继承"雪碧"--Sprite。但是mc的基类默认是MovieClip,因此,在library中要修改基类,改成flash.display.Sprite;
这里要注意,mc的基类是MovieClip,不是雪碧,但是改变基类后,又必须要填上和这个mc绑定的类名。这里要注意。场景上这个mc继承自Sprite,它的属性名不能和绑定的类名一样,否则会给出"找不到类型"的错误。
Continue reading
as2里面可没有关于鼠标双击的事件响应。响应鼠标点击的比如有onPress和onRelease回调函数,如果需要一个处理单击按钮响应某个事件。可以使用onPress也可以使用onRelease。
as3中处理鼠标响应事件和鼠标状态就分的很细了,MouseEvent就是处理这些事件的类。
如
btn.addEventListener(MouseEvent.MOUSE_DOWN,click)//显示鼠标状态
btn.addEventListener(MouseEvent.CLICK,down)//点击
btn.addEventListener(MouseEvent.DOUBLE_CLICK,doubleClick)
function doubleClick(handle:MouseEvent):void
{
trace("doubleClick");
}
现在还无法响应双击事件,因为还有个InteractiveObject的属性doubleClickEnabled必须设为true.
加上这句就行了btn.doubleClickEnabled=true;