[搬运]弹幕艺术联合文档-速查手册
转自:biliscript-syndicate.github.io
标题:速查手册

API

基本操作
clear():void
clone(object:*):*
(Utils.clone) 有些(TODO)类型无法正确复制foreach(object:Object, iterator:Function):void
(Utils.foreach) 只能访问公开可遍历属性。例foreach({1:2, 3:4}, function(key, value) {trace(key, value);});
load(library:String, onload:Function):void
(libBitmap
已内嵌)。只在加载成功时调用onload。例load('libBitmap', function(){trace('ok', Bitmap);});
trace(… args):void
例trace(1, 2, [3,4], '5 6', trace);
$G._get(name:String):*
($G._, Global._get, Global._)$G._set(name:String, value:*):void
(Global._set)ScriptManager.clearEl():void
停止并清除$.createComment()、$.createShape()、$.createCanvas()、$.createButton()、Bitmap.createBitmap()产生的运动元件。ScriptManager.clearTimer():void
清除只由interval()产生的计时器。不清除timer()。ScriptManager.clearTrigger():void
清除只由Player.keyTrigger()产生的键盘事件侦听。不清除Player.commentTrigger()。

Player信息
Player.videoWidth:uint, Player.videoHeight:uint [只读]
视频等比例尺寸$.width:uint, $.height:uint [只读]
(Player.width:uint, Player.height:uint) 播放窗口尺寸;包括黑边$.stageWidth:uint, $.stageHeight:uint [只读]
Flash界面尺寸$.screenWidth:uint, $.screenHeight:uint [只读]
($.fullScreenWidth:uint, $.fullScreenHeight:uint) 屏幕尺寸Player.commentList:Array [只读]
一组CommentData。Player.state:String [只读]
stop
,pause
,playing
Player.time:Number [只读]
毫秒

时间
clearTimeout(timeout_id:uint)
中止由timeout_id指定的延时操作。getTimer():int
毫秒interval(exec:Function, delay_msec:Number = 1000, repeatCount:uint = 1):Timer
(Utils.interval) 重复定时执行。repeatCount为0则无限重复。delay推荐最小20毫秒(再小影响性能)。timer(exec:Function, delay_msec:Number = 1000):uint
(Utils.delay) 一次延时执行。delay最小1毫秒。返回timeout_id。

Player控制
Player.commentTrigger(onComment:Function, timeout_msec:Number = 1000):uint
返回timeout_id。不能用clearTimeout或者ScriptManager清除。 例Player.commentTrigger(function(c){trace(c, c.text);}, 1 << 30);
Player.createSound(sample:String, onload:Function = null):ScriptSound
目前已知sample:btnover
。ScriptSound.play(startTime:Number = 0, loops:int = 0):void. 查看样例Player.jump(av:String, page:int = 1, newwindow:Boolean = false):void
Player.keyTrigger(onKey:Function, timeout_msec:Number = 1000, up:Boolean = false):uint
timeout最大2147483647,小于0不工作。返回timeout_id。查看样例。Player.pause():void
Player.play():void
Player.refreshRate:int
不工作;暂不修复。$.frameRate:Number
大于0小于120,超过60一般无意义。Player.seek(time_msec:Number):void
只能seek到关键帧。Player.setMask(mask:DisplayObject):void
即player.parent.mask = mask;

数据转换
parseInt(str:String, radix:uint = 0):Number
parseFloat(str:String):Number
$.toIntVector(ints:Array):Vector.<int>
$.toUintVector(uints:Array):Vector.<uint>
$.toNumberVector(numbers:Array):Vector.<Number>
String.fromCharCode(… charCodes):String
Unicode码,0到65535。例trace(String.fromCharCode(27979, 35797, 10, 9731, 9773));
Utils.distance(x1:Number, y1:Number, x2:Number, y2:Number):Number
即Math.sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2))
Utils.formatTimes(second:Number):String
时间格式mm:ss;例trace(Utils.formatTimes(Player.time / 1000));
Utils.hue(value:int):int
最小0最大359

Utils.rand(min:Number, max:Number):Number
整数,即Math.floor(min + Math.random() * (max - min))
Utils.rgb(r:int, g:int, b:int):int
耗时是r << 16 | g << 8 | b
的2倍。

图形元件
以下通用参数(附默认值):{x:0, y:0, z:null, scale:1, alpha:1,
parent:$.root, lifeTime:3, motion:{}}
$.createButton(params:Object):CommentButton
{text:"Button", width:60, height:30, onclick:undefined}
$.createCanvas(params:Object):CommentCanvas
$.createComment(text:String, params:Object):CommentField
{color:0xffffff, font:"黑体", fontsize:25}
$.createShape(params:Object):CommentShape
$.createTextField():CommentField
不初始化$.createTextFormat(…):TextFormat

几何
详细参数见链接的Adobe手册页面。
$.createColorTransform(…):ColorTransform
$.createGradientBox(…):Matrix
即(new Matrix()).createGradientBox(...)
。用于beginGradientFill()和lineGradientStyle()。$.createMatrix(…):Matrix
$.createMatrix3D(…):Matrix3D
PerspectiveProjection
clone($.root.transform.perspectiveProjection)
$.createPoint(x:Number = 0, y:Number = 0):Point
Rectangle
$.root.getRect(null)
或Bitmap.createRectangle(x, y, w, h)
$.createVector3D(…):Vector3D
$.pointTowards(…):Matrix3D
$.projectVector(…):Vector3D
$.projectVectors(…):void

Bitmap库
Bitmap.createBitmap(params:Object):CommentBitmap
{bitmapData:undefined, pixelSnapping:"auto", smothing:undefined, scale:1}
Bitmap.createBitmapData(width:int, height:int, transparent:Boolean = true, fillColor:uint = 0xFFFFFFFF):BitmapData
Bitmap.createParticle(params:Object):CommentBitmap
TODOBitmap.createRectangle(x:Number, y:Number, width:Number, height:Number):Rectangle

库
Tween
(org.libspark.betweenas3::BetweenAS3)Math

滤镜
无法获得ShaderFilter。详细参数见Adobe手册页面。
$.createBevelFilter(…):BevelFilter
$.createBlurFilter(…):BlurFilter
$.createColorMatrixFilter(…):ColorMatrixFilter
$.createConvolutionFilter(…):ConvolutionFilter
$.createDisplacementMapFilter(…):DisplacementMapFilter
$.createDropShadowFilter(…):DropShadowFilter
$.createGlowFilter(…):GlowFilter
$.createGradientBevelFilter(…):GradientBevelFilter
$.createGradientGlowFilter(…):GradientGlowFilter

内部
$.root
ScriptManager.pushEl(param1:IMotionElement):void
ScriptManager.popEl(param1:IMotionElement):void
ScriptManager.pushTimer(param1:Timer):void
ScriptManager.popTimer(param1:Timer):void

类定义

CommentData
blocked:Boolean
blockType:uint
border:Boolean
color:uint
credit:Boolean
danmuId:uint [只读]
date:String
deleted:Boolean
id:uint
mode:uint
msg:String
live:Boolean
locked:Boolean
on:Boolean
pool:int
preview:Boolean
reported:Boolean
size:int
stime:Number [只读] 秒
text:String [只读]
type:String
userId:String [只读]
例Player.commentList.forEach(function(e) {trace(e.stime, e.text);});

Comment元件通用
motionManager:MotionManager [只读]
initStyle(params:Object):void
CommentBitmap除外remove():void

CommentBitmap → Bitmap
motionManager:MotionManager [读写]
setParent(parent:*):void
即parent.addChild(this)

CommentButton → Sprite
text:String
fillColors:Array
fillAlphas:Array

CommentCanvas → Sprite

CommentField → TextField
align:String
bold:Boolean
font:String
fontsize:uint
color:String
htmlText:String
过滤所有html

CommentShape → Shape

MotionManager
running:Boolean [只读]
reset():void
play():void
stop():void
forcasting(param1:Number):Boolean
setPlayTime(param1:Number):void
initTween(param1:Object, param2:Boolean = false):String
initTweenGroup(motionGroup:Array, lifeTime:Number = NaN):void
setCompleteListener(param1:Function):void

样板代码

Player.keyTrigger

Bitmap库加载
(Bitmap库已内嵌无需再加载,以下仅作示例。)

Player.createSound

遍历显示列表

鼠标定位
trace($.root.mouseX, $.root.mouseY);
或者:

检测seek

已知问题
(TODO: 扩充重现方法和结果)
安全考虑,TextField.htmlText被去掉所有html。
安全考虑,.loaderInfo属性被禁止访问。
UI控制考虑,.root、.parent、.stage属性被禁止访问。
Bitmap.createBitmap的smoothing参数被错别字成smothing。
$.createComment、$.createShape、$.createCanvas、$.createButton会给进行DisplayObject.z = null导致产生一个Matrix3D导致图形模糊。解决方法
displayObject.transform.matrix3D = null;
。flash.display::Graphics里面没有cubicCurveTo方法,这是在FP11.0的特性(2011年10月)。
无法修复。站方player.swf开发环境Flex SDK 4.1尚未支持加入此特性。近期无升级计划。字符串中的
/n
会在提交后被转义成换行。[]
访问符语法问题,无法嵌套a = [0,1]; b = [0,1]; trace(a[0], b[a[0]]);
调用类静态方法。
String.fromCharCode()
可以这样实现:''.constructor.fromCharCode()
。


clearTimeout:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html#clearTimeout%28%29
getTimer:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html#getTimer%28%29
Timer:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Timer.html

play:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Sound.html#play%28%29

parseInt:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/package.html#parseInt%28%29
parseFloat:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/packate.html#parseFloat%28%29
Vector:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Vector.html
fromCharCode:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/String.html#fromCharCode%28%29

TextFormat:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextFormat.html

ColorTransform:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/ColorTransform.html
createGradientBox:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Matrix.html#createGradientBox%28%29
Matrix:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Matrix.html
Matrix3D:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Matrix3D.html
PerspectiveProjection:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/PerspectiveProjection.html
Point:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Point.html
Vector3D:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Vector3D.html
pointTowards:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Utils3D.html#pointTowards%28%29
projectVector:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Utils3D.html#projectVector%28%29
projectVectors:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Utils3D.html#projectVectors%28%29

BitmapData:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html
Rectangle:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Rectangle.html

Tween:http://www.libspark.org/wiki/BetweenAS3/en
Math:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Math.html

BevelFilter:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filters/BevelFilter.html
BlurFilter:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filters/BlurFilter.html
ColorMatrixFilter:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filters/ColorMatrixFilter.html
ConvolutionFilter:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filters/ConvolutionFilter.html
DisplacementMapFilter:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filters/DisplacementMapFilter.html
DropShadowFilter:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filters/DropShadowFilter.html
GlowFilter:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filters/GlowFilter.html
GradientBevelFilter:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filters/GradientBevelFilter.html
GradientGlowFilter:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filters/GradientGlowFilter.html

Bitmap:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Bitmap.html

Sprite:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Sprite.html

TextField:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html
align:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextFormat.html#align
bold:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextFormat.html#bold
font:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextFormat.html#font
fontsize:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextFormat.html#size
color:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextFormat.html#color
htmlText:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html#htmlText

Shape:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Shape.html
