LAnimationTimeline Class
新しい LAnimation インスタンスを作成します。 LAnimationTimeline クラスはLAnimation クラスの上にいくつの便利な機能をサポートしています。LAnimation クラスでアニメーションを再生する時、自身のonframe函数を呼び出し無ければなりません、LAnimationTimelineクラスは自動的にアニメーションを再生することができます。
Constructor
LAnimationTimeline
-
data
-
list
Parameters:
-
data
LBitmapDataLBitmapData オブジェクト(スプライトシート),アニメーションのひとコマひとコマをひとつにまとめた画像ファイルです。
-
list
Arrayframeごとの属性。
フォーマットは{x : 0, y : 0, width : 100, height : 100, sx : 0, sy : 0}の通りです。 x, y, width, heightはLBitmapData オブジェクトの各属性の値です,sx, syはひとコマのアニメーションを表示する時の座標です。
もしスプライトシートのframeの大きさが全部同じであれば、LGlobal.divideCoordinate関数を使って画像を分割することができます。
Example:
LInit(50, "legend", 800, 480, main);
function main () {
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("player.png", "bitmapData");
}
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
player = new LAnimationTimeline(data,list);
backLayer.addChild(player);
}
Item Index
Methods
- addChild
- addChildAt
- addEventListener
- addFrameScript
- addShape
- callParent
- clearShape
- clone
- die
- dispatchEvent
- getAction
- getBounds
- getChildAt
- getChildByName
- getChildIndex
- getDataURL
- getHeight
- getRootCoordinate
- getWidth
- gotoAndPlay
- gotoAndStop
- hasEventListener
- hitTestObject
- hitTestPoint
- onframe
- play
- remove
- removeAllChild
- removeAllEventListener
- removeChild
- removeChildAt
- removeEventListener
- removeFrameScript
- setAction
- setChildIndex
- setLabel
- setRotate
- startDrag
- stop
- stopDrag
Properties
Methods
addChild
-
child
この DisplayObjectContainer インスタンスに子 LDisplayObjectContainer インスタンスを追加します。子インスタンスは、この LDisplayObjectContainer インスタンスにある他のすべての子の前(上)に追加されます(特定のインデックス位置に子を追加する場合は、addChildAt() メソッドを使用します)。
既に異なる表示オブジェクトコンテナを親に持つ子オブジェクトを追加する場合は、もう一方の表示オブジェクトコンテナの子リストからそのオブジェクトが削除されます。
Parameters:
-
child
LDisplayObjectこの LDisplayObjectContainer インスタンスの子として追加する LDisplayObject インスタンスです。
Returns:
child パラメーターで渡す LDisplayObject インスタンスです。
Example:
var bitmapdata = new LBitmapData("#FF0000",0,0,100,100);
var bitmap = new LBitmap(bitmapdata);
var layer = new LSprite();
addChild(layer);
layer.addChild(bitmap);
addChildAt
-
child
-
index
この DisplayObjectContainer インスタンスに子 LDisplayObject インスタンスを追加します。子インスタンスは、指定されたインデックス位置に追加されます。インデックス 0 は、この LDisplayObjectContainer オブジェクトの表示リストの背景または一番下を表します。
例えば、a、b、c というラベルの 3 個の表示オブジェクトをインデックス位置 0、2、1 にそれぞれ配置すると、以下のようになります。
既に異なる表示オブジェクトコンテナを親に持つ子オブジェクトを追加する場合は、もう一方の表示オブジェクトコンテナの子リストからそのオブジェクトが削除されます。
Parameters:
-
child
LDisplayObjectこの LDisplayObjectContainer インスタンスの子として追加する LDisplayObject インスタンスです。
-
index
Int子を追加するインデックス位置です。既にオブジェクトが置かれているインデックス位置を指定すると、その位置にあるオブジェクトとその上に位置するすべてのオブジェクトが、子リスト内で 1 つ上の位置に移動します。
Returns:
child パラメーターで渡す LDisplayObject インスタンスです。
Example:
var container = new LSprite();
var circle1 = new LSprite();
var circle2 = new LSprite();
container.addChild(circle1);
container.addChildAt(circle2, 0);
trace(container.getChildAt(0) == circle2); // true
trace(container.getChildAt(1) == circle1); // true
addEventListener
-
type
-
listener
イベントリスナーオブジェクトを LEventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。イベントリスナーは、特定のタイプのイベント、段階、および優先度に関する表示リスト内のすべてのノードに登録できます。
イベントリスナーが正常に登録された後に、addEventListener() をさらに呼び出して優先度を変更することはできません。リスナーの優先度を変更するには、最初に removeListener() を呼び出す必要があります。その後、同じリスナーを新しい優先度レベルで再度登録できます。
イベントリスナーが不要になった場合は、removeEventListener() を呼び出して、イベントリスナーを削除します。削除しない場合、メモリの問題が発生する可能性があります。
Parameters:
-
type
Stringイベントのタイプです。
-
listener
Functionイベントを処理するリスナー関数です。
addFrameScript
-
label
-
func
-
params
指定されたフレームにスクリプトを追加する。
Parameters:
-
label
String指定されたフレーム。
-
func
Function関数。
-
params
Array関数を実行する時のパラメータ。
Example:
LInit(200,"legend",800,450,main);
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
var player = new LAnimationTimeline(backLayer,data,list);
player.setLabel("right",2,0,1,true);
player.addFrameScript("right",scriptTest,["testParams1","testParams2"]);
backLayer.addChild(player);
player.gotoAndPlay("right");
}
function scriptTest(param1,param2){
trace("scriptTest Run : " + param1 + "," + param2);
}
addShape
-
type
-
arg
衝突の形状を追加します。追加していなければ、最大の矩形を使って、衝突を判定します。
矩形を追加 : addShape(LShape.RECT,[20,140,200,100])
円を追加 : addShape(LShape.ARC,[110,80,60])
多边形を追加 : addShape(LShape.VERTICES,[[10,10],[50,100],[100,70]])
Parameters:
-
type
String衝突の形状。
-
arg
Array具体的なパラメータ。
Example:
LInit(20,"legend",800,450,main);
function main () {
LGlobal.setDebug(true);
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("face.jpg", "bitmapData");
}
function loadBitmapdata (event) {
var bitmapData = new LBitmapData(event.currentTarget);//width:240,height:240
var bitmap01 = new LBitmap(bitmapData);
var layer01 = new LSprite();
addChild(layer01);
layer01.addChild(bitmap01);
var rect1 = new LSprite();
rect1.x = 180;
rect1.graphics.drawRect(2,"#FF0000",[0,0,100,100]);
addChild(rect1);
var bitmap02 = new LBitmap(bitmapData);
var layer02 = new LSprite();
layer02.x = 300;
addChild(layer02);
layer02.addChild(bitmap02);
layer02.addShape(LShape.ARC,[110,80,60]);
layer02.addShape(LShape.RECT,[20,140,200,100]);
var rect2 = new LSprite();
rect2.x = 480;
rect2.graphics.drawRect(2,"#FF0000",[0,0,100,100]);
addChild(rect2);
var rect3 = new LSprite();
rect3.x = 480;
rect3.y = 120;
rect3.graphics.drawRect(2,"#FF0000",[0,0,100,100]);
addChild(rect3);
trace(layer01.hitTestObject(rect1));//true
trace(layer02.hitTestObject(rect2));//false
trace(layer02.hitTestObject(rect3));//true
}
callParent
-
functionName
-
arguments
親クラスの関数を呼び出す。
Parameters:
-
functionName
String函数名
-
arguments
Array固定値arguments
Example:
function funA(){
LExtends(this,LObject,[]);
}
funA.prototype.myName = function(){
return "AAA";
}
function funB(){
LExtends(this,funA,[]);
}
funB.prototype.myName = function(){
return "BBB";
}
function funC(){
LExtends(this,funA,[]);
}
funC.prototype.myName = function(){
return this.callParent("myName",arguments);
}
LInit(1000/50,"legend",800,150,main);
function main(){
LGlobal.setDebug(true);
var objB = new funB();
trace(objB.myName());//BBB
var objC = new funC();
trace(objC.myName());//AAA
}
clearShape
()
public
衝突の形状をクリアする
Example:
var bitmapData = new LBitmapData(event.currentTarget);//width:240,height:240
var bitmap01 = new LBitmap(bitmapData);
var layer01 = new LSprite();
addChild(layer01);
layer01.addChild(bitmap01);
layer01.addShape(LShape.ARC,[110,80,60]);
layer01.addShape(LShape.RECT,[20,140,200,100]);
var rect1 = new LSprite();
rect1.x = 180;
rect1.graphics.drawRect(2,"#FF0000",[0,0,100,100]);
addChild(rect1);
trace(layer01.hitTestObject(rect1));//false
layer01.clearShape()
trace(layer01.hitTestObject(rect1));//true
clone
()
LAnimationTimeline
public
新しい LAnimationTimeline オブジェクトとして、元のインスタンスのクローンを返します。オブジェクトはまったく同じコピーになります。
Returns:
元のオブジェクトと同一の新しい LAnimationTimeline オブジェクトです。
Example:
LInit(200,"legend",800,450,main);
var player;
var player2;
function main(){
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("player.png", "bitmapData");
}
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
player = new LAnimation(backLayer,data,list);
player2 = player.clone();
player2.setAction(2,0);
player2.x = 150;
backLayer.addChild(player2);
backLayer.addEventListener(LEvent.ENTER_FRAME,onframe);
}
function onframe(event){
player.onframe();
player2.onframe();
}
die
()
public
全部のベクターシェイプとイベントをクリアする。
dispatchEvent
-
event
イベントをイベントフローに送出します。イベントターゲットは LEventDispatcher オブジェクトです。これに対して dispatchEvent() メソッドが呼び出されます。
Parameters:
-
event
LEvent | Stringイベントフローに送出されるイベントオブジェクトです。イベントが再度送出されると、イベントのクローンが自動的に作成されます。イベントが送出された後にそのイベントの target プロパティは変更できないため、再送出処理のためにはイベントの新しいコピーを作成する必要があります。
Returns:
値が true の場合、イベントは正常に送出されました。 function MyEventObject(){ var self = this; LExtends(self,LSprite,[]); self.graphics.drawRect(1,"#000000",[0,0,100,100],true,"#000000"); self.graphics.drawRect(1,"#FF0000",[100,0,100,100],true,"#FF0000"); self.addEventListener(LMouseEvent.MOUSE_UP,self.onclick); self.addEventListener(MyEventObject.CLICK_LEFT,function(event){ trace("dispatchEvent"); }); self.addEventListener(MyEventObject.CLICK_RIGHT,function(event){ trace("dispatchEvent event.name = " + event.name); }); } MyEventObject.CLICK_LEFT = "click_left"; MyEventObject.CLICK_RIGHT = "click_right"; MyEventObject.prototype.onclick = function(event){ var self = event.clickTarget; if(event.selfX < 100){ self.dispatchEvent(MyEventObject.CLICK_LEFT); }else{ var event = new LEvent(MyEventObject.CLICK_RIGHT); event.name = "LEvent Test"; self.dispatchEvent(event); } }
getAction
()
Array
public
今動いているフレームのプロパティを取得。
Returns:
フレームのプロパティ:rowIndex,colIndex,mode,isMirrorモード,水平方向に反転するかどうか])。
Example:
LInit(200,"legend",800,450,main);
var player;
function main(){
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("player.png", "bitmapData");
}
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
player = new LAnimation(backLayer,data,list);
backLayer.addEventListener(LEvent.ENTER_FRAME,onframe);
}
function onframe(){
player.onframe();
var result = player.getAction();
trace(result);
}
getBounds
-
targetCoordinateSpace
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。
Parameters:
-
targetCoordinateSpace
LDisplayObject使用する座標系を定義する表示オブジェクトです。
Returns:
targetCoordinateSpace オブジェクトの座標系を基準とする、表示オブジェクトの領域を定義する矩形です。
getChildAt
-
index
指定のインデックス位置にある子表示オブジェクトインスタンスを返します。
Parameters:
-
index
Int子オブジェクトのインデックス位置です。
Returns:
指定されたインデックス位置にある子表示オブジェクトです。
Example:
var container = new LSprite();
addChild(container);
var sprite1 = new LSprite();
var sprite2 = new LSprite();
var sprite3 = new LSprite();
container.addChild(sprite1);
container.addChild(sprite2);
container.addChildAt(sprite3, 0);
trace(container.getChildAt(0) == sprite3); // true
trace(container.getChildAt(1) == sprite1); // true
trace(container.getChildAt(2) == sprite2); // true
getChildByName
-
name
指定された名前に一致する子表示オブジェクトを返します。指定された名前を持つ子表示オブジェクトが複数存在する場合、メソッドは子リストの最初のオブジェクトを返します。
getChildAt() メソッドは、getChildByName() メソッドよりも処理が高速です。getChildAt() メソッドはキャッシュ配列の子にアクセスしますが、getChildByName() メソッドでは子にアクセスするためにリンクされたリストを移動する必要があります。
Parameters:
-
name
String返される子の名前です。
Returns:
指定された名前を持つ子表示オブジェクトです。
Example:
var container = new LSprite();
var sprite1 = new LSprite();
sprite1.name = "sprite1";
var sprite2 = new LSprite();
sprite2.name = "sprite2";
container.addChild(sprite1);
container.addChild(sprite2);
var target = container.getChildByName("sprite1");
trace(container.getChildIndex(target)); // 0
getChildIndex
-
特定する
child LDisplayObject インスタンスのインデックス位置を返します
Parameters:
-
特定する
LDisplayObjectLDisplayObject インスタンスです。
Returns:
特定する子表示オブジェクトのインデックス位置です。
Example:
var container = new LSprite();
addChild(container);
var sprite1 = new LSprite();
sprite1.name = "sprite1";
var sprite2 = new LSprite();
sprite2.name = "sprite2";
container.addChild(sprite1);
container.addChild(sprite2);
trace(container.getChildIndex(sprite1)); // 0
getDataURL
()
Base64 Image
public
base64でエンコードされた画像の文字列を取得する。
Returns:
base64でエンコードされた画像の文字列。
getHeight
()
Float
public
表示オブジェクトの高さを取得します(ピクセル単位)。
Returns:
オブジェクトの高さ。
Example:
var bitmapdata = new LBitmapData(event.currentTarget);
var bitmap = new LBitmap(bitmapdata);
var layer = new LSprite();
addChild(layer);
layer.addChild(bitmap);
trace("height : " + layer.getHeight());
getWidth
()
Float
public
表示オブジェクトの幅を取得します(ピクセル単位)。
Returns:
オブジェクトの幅。
Example:
var bitmapdata = new LBitmapData(event.currentTarget);
var bitmap = new LBitmap(bitmapdata);
var layer = new LSprite();
addChild(layer);
layer.addChild(bitmap);
trace("width : " + layer.getWidth());
gotoAndPlay
-
label
指定されたフレームで LAnimationTimeline オブジェクトの再生を開始します。
Parameters:
-
label
String再生ヘッドの送り先となるフレームのラベルを表すストリングです。
Example:
LInit(200,"legend",800,450,main);
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
var player = new LAnimationTimeline(backLayer,data,list);
player.setLabel("right",2,0,1,true);
backLayer.addChild(player);
player.gotoAndPlay("right");
}
gotoAndStop
-
label
このムービークリップの指定されたフレームに再生ヘッドを送り、そこで停止させます。
Parameters:
-
label
String再生ヘッドの送り先となるフレームのラベルを表すストリングです。
Example:
LInit(200,"legend",800,450,main);
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
var player = new LAnimationTimeline(backLayer,data,list);
player.setLabel("right",2,0,1,true);
backLayer.addChild(player);
player.gotoAndStop("right");
}
hasEventListener
-
type
LEventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。これにより、LEventDispatcher オブジェクトがイベントタイプの処理をイベントフロー階層のどこで変更したかを判断できます。
Parameters:
-
type
Stringイベントのタイプです。
Returns:
指定したタイプのリスナーが登録されている場合は true、それ以外の場合は false です。
hitTestObject
-
obj
表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。
Parameters:
-
obj
LDisplayObject検査の対象となる表示オブジェクトです。
Returns:
表示オブジェクトの境界ボックスが交差する場合は true を返します。交差しない場合は false を返します。
Example:
LGlobal.setDebug(true);
var container = new LSprite();
addChild(container);
var circle1 = new LSprite();
circle1.graphics.drawRect(1,"#000000",[0,0,100,100],true,"#000000");
var circle2 = new LSprite();
circle2.x = 120;
circle2.graphics.drawRect(1,"#FF0000",[0,0,100,100],true,"#FF0000");
var circle3 = new LSprite();
circle3.x = 60;
circle3.y = 60;
circle3.graphics.drawRect(1,"#008800",[0,0,100,100],true,"#008800");
container.addChild(circle1);
container.addChild(circle2);
container.addChild(circle3);
trace(circle1.hitTestObject(circle2));//false
trace(circle1.hitTestObject(circle3));//true
trace(circle2.hitTestObject(circle3));//true
hitTestPoint
-
x
-
y
表示オブジェクトを評価して、x および y パラメーターで指定されたポイントと重複または交差するかどうかを調べます。x および y パラメーターは、表示オブジェクトが含まれる表示オブジェクトコンテナではなく Stage の座標空間内のポイントを指定します(その表示オブジェクトコンテナが Stage の場合を除く)。
Parameters:
-
x
Floatこのオブジェクトの検査の基準となる x 座標です。
-
y
Floatこのオブジェクトの検査の基準となる y 座標です。
Returns:
指定されたポイントと表示オブジェクトが重複または交差する場合は true、そうでなければ false です。
Example:
LInit(20,"legend",800,450,main);
var backLayer;
var title;
function main(){
backLayer = new LSprite();
addChild(backLayer);
backLayer.addEventListener(LEvent.ENTER_FRAME,onframe);
title = new LTextField();
title.size = 18;
title.x = 10;
title.y = 5;
title.text = "hitTestPoint:false";
addChild(title);
var layer = new LSprite();
layer.x = 20;
layer.y = 50;
layer.graphics.drawRect(0,"#880088",[0,0,100,40],true,"#880088");
layer.addShape(LShape.RECT,[0,0,100,40]);
backLayer.addChild(layer);
layer = new LSprite();
layer.x = 200;
layer.y = 100;
layer.graphics.drawArc(0,"#880088",[0,0,30,0,2*Math.PI],true,"#880088");
layer.addShape(LShape.ARC,[0,0,30]);
backLayer.addChild(layer);
layer = new LSprite();
layer.x = 120;
layer.y = 150;
layer.graphics.drawVertices(0,"#880088",[[10,10],[50,100],[100,70]],true,"#880088");
layer.addShape(LShape.VERTICES,[[10,10],[50,100],[100,70]]);
backLayer.addChild(layer);
}
function onframe(e){
for(var i=0;i<backLayer.childList.length;i++){
if(backLayer.childList[i].hitTestPoint(mouseX,mouseY)){
title.text = "hitTestPoint:true";
return;
}
}
title.text = "hitTestPoint:false";
}
onframe
()
public
次のフレームのアニメーションを表示します。
Example:
LInit(200,"legend",800,450,main);
var player;
function main(){
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("player.png", "bitmapData");
}
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
player = new LAnimation(backLayer,data,list);
backLayer.addEventListener(LEvent.ENTER_FRAME,onframe);
}
function onframe(){
player.onframe();
}
play
()
public
LAnimationTimeline オブジェクトの再生を開始します。
Example:
LInit(200,"legend",800,450,main);
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
var player = new LAnimationTimeline(backLayer,data,list);
player.setLabel("right",2,0,1,true);
backLayer.addChild(player);
player.gotoAndPlay("right");
}
remove
()
public
オブジェクト自体は、親コンテナから除去される。
removeAllChild
()
LDisplayObjectContainer インスタンスの子リストから全部の child LDisplayObject インスタンスを削除します。
removeAllEventListener
()
public
LEventDispatcher オブジェクトから全部のリスナーを削除します。
removeChild
-
child
LDisplayObjectContainer インスタンスの子リストから指定の child LDisplayObject インスタンスを削除します。削除された子の parent プロパティは null に設定されます。その子に対する参照が存在しない場合、そのオブジェクトはガベージコレクションによって収集されます。LDisplayObjectContainer の子より上位にある表示オブジェクトのインデックス位置は 1 つ下がります。
Parameters:
-
child
LDisplayObject削除する LDisplayObject インスタンスです。
Returns:
child パラメーターで渡す LDisplayObject インスタンスです。
Example:
function main () {
var container = new LSprite();
addChild(container);
var circle1 = new LSprite();
circle1.graphics.drawRect(1,"#000000",[0,0,50,50]);
var circle2 = new LSprite();
circle2.graphics.drawRect(1,"#000000",[100,100,50,50]);
container.addChild(circle1);
container.addChild(circle2);
container.addEventListener(LMouseEvent.MOUSE_DOWN, clicked);
}
function clicked (event) {
event.currentTarget.removeChild(event.target);
}
removeChildAt
-
index
LDisplayObjectContainer の子リストの指定された index 位置から子 LDisplayObject を削除します。削除された子の parent プロパティは null に設定されます。その子に対する参照が存在しない場合、そのオブジェクトはガベージコレクションによって収集されます。LDisplayObjectContainer の子より上位にある表示オブジェクトのインデックス位置は 1 つ下がります。
Parameters:
-
index
Int削除する LDisplayObject の子インデックスです。
Returns:
削除された LDisplayObject インスタンスです。
Example:
var container = new LSprite();
addChild(container);
var sprite1 = new LSprite();
sprite1.name = "sprite1";
var sprite2 = new LSprite();
sprite2.name = "sprite2";
container.addChild(sprite1);
container.addChild(sprite2);
trace(container.numChildren) // 2
container.removeChildAt(0);
trace(container.numChildren) // 1
trace(container.getChildAt(0).name); // sprite2
removeEventListener
-
type
-
listener
LEventDispatcher オブジェクトからリスナーを削除します。対応するリスナーが LEventDispatcher オブジェクトに登録されていない場合は、このメソッドを呼び出しても効果はありません。
Parameters:
-
type
Stringイベントのタイプです。
-
listener
Function削除するリスナーオブジェクトです。
removeFrameScript
-
label
指定されたフレームにあるスクリプトを削除する。
Parameters:
-
label
String指定されたフレーム。
Example:
LInit(200,"legend",800,450,main);
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
var player = new LAnimationTimeline(backLayer,data,list);
player.setLabel("right",2,0,1,true);
player.addFrameScript("right",scriptTest,["testParams1","testParams2"]);
backLayer.addChild(player);
player.gotoAndPlay("right");
}
function scriptTest(param1,param2){
trace("scriptTest Run : " + param1 + "," + param2);
}
setAction
-
rowIndex
-
colIndex
-
mode
-
isMirror
再生するフレームを設定します。
Parameters:
-
rowIndex
Int行番号。
-
colIndex
Int列番号。
-
mode
Int下記の三つの値を設定することができます。(1,0,-1):(正シーケンス進める,ストップ,逆シーケンス進める)。
-
isMirror
Boolean水平方向に反転するかどうか。
Example:
LInit(200,"legend",800,450,main);
var player;
var player2;
function main(){
var loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("player.png", "bitmapData");
}
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
player = new LAnimation(backLayer,data,list);
player2 = new LAnimation(backLayer,data.clone(),list);
player.setAction(2,0,1,true);
player2.setAction(2,0,1,false);
player2.x = 150;
backLayer.addEventListener(LEvent.ENTER_FRAME,onframe);
}
function onframe(){
player.onframe();
player2.onframe();
}
setChildIndex
-
child
-
index
表示オブジェクトコンテナの既存の子の位置を変更します。これは、子オブジェクトのレイヤーに影響します。例えば、a、b、c というラベルの 3 個の表示オブジェクトをインデックス位置 0、1、2 にそれぞれ配置すると、以下のようになります。
setChildIndex() を使用し、既に占有されているインデックス位置を指定した場合、表示オブジェクトの前の位置と新しい位置の間にある位置だけが変化します。その他は変化しません。現在のインデックスよりも小さいインデックスに子を移動すると、その間のすべての子が、それぞれのインデックス参照について 1 増加します。現在のインデックスよりも大きいインデックスに子を移動すると、その間のすべての子が、それぞれのインデックス参照について 1 減少します。例えば、上記の例の表示オブジェクトコンテナの名前が container である場合、次に示すコードを呼び出すことによって、a および b というラベルが付けられた表示オブジェクトの位置を入れ替えることができます。
container.setChildIndex(container.getChildAt(1), 0);
このコードによって、次に示すようなオブジェクトの配置になります。
Parameters:
-
child
LDisplayObjectインデックス番号を変更する子 LDisplayObject インスタンスです。
-
index
Int表示オブジェクトの結果のインデックス番号です。
Returns:
child 表示オブジェクトの結果のインデックス番号です。
Example:
LInit(50, "legend", 800, 480, main);
var container;
function main () {
container = new LSprite();
addChild(container);
var circle1 = new LSprite();
circle1.graphics.drawRect(1,"#000000",[0,0,100,100],true,"#000000");
circle1.addEventListener(LMouseEvent.MOUSE_DOWN, clicked);
var circle2 = new LSprite();
circle2.graphics.drawRect(1,"#FF0000",[40,80,100,100],true,"#FF0000");
circle2.addEventListener(LMouseEvent.MOUSE_DOWN, clicked);
var circle3 = new LSprite();
circle3.graphics.drawRect(1,"#008800",[80,0,100,100],true,"#008800");
circle3.addEventListener(LMouseEvent.MOUSE_DOWN, clicked);
container.addChild(circle1);
container.addChild(circle2);
container.addChild(circle3);
}
function clicked (event) {
var circle = event.target;
var topPosition = container.numChildren - 1;
container.setChildIndex(circle, topPosition);
}
setLabel
()
public
LAnimationTimeline インスタンスのタイムライン内にラベルを追加します。
Example:
LInit(200,"legend",800,450,main);
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
var player = new LAnimationTimeline(backLayer,data,list);
player.setLabel("right",2,0,1,true);
backLayer.addChild(player);
player.gotoAndPlay("right");
}
setRotate
-
angle
Box2dWebを利用する時,setRotateを使って角度を設定する
Parameters:
-
angle
Float角度。
startDrag
-
touchPointID
指定されたスプライトをユーザーがドラッグできるようにします。LSprite.stopDrag() メソッドを呼び出して明示的に停止する
Parameters:
-
touchPointID
Intタッチポイントに割り当てる整数です(タッチ対応デバイス)。
Example:
LInit(1000/50,"legend",800,450,main);
function main(){
LMultitouch.inputMode = LMultitouchInputMode.TOUCH_POINT;
for(var i=0;i<3;i++){
var child = new LSprite();
child.x = 250*i;
child.graphics.drawRect(2,"#ff0000",[0,0,100,100],true,"#ff0000");
child.addEventListener(LMouseEvent.MOUSE_DOWN,ondown);
child.addEventListener(LMouseEvent.MOUSE_UP,onup);
addChild(child);
}
}
function ondown(e){
e.clickTarget.startDrag(e.touchPointID);
}
function onup(e){
e.clickTarget.stopDrag();
}
stop
()
public
LAnimationTimeline オブジェクトの再生を停止します。
Example:
LInit(200,"legend",800,450,main);
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
var player = new LAnimationTimeline(backLayer,data,list);
player.setLabel("right",2,0,1,true);
backLayer.addChild(player);
player.gotoAndPlay("right");
}
stopDrag
()
public
startDrag() メソッドを終了します。
Example:
LInit(1000/50,"legend",800,450,main);
function main(){
LMultitouch.inputMode = LMultitouchInputMode.TOUCH_POINT;
for(var i=0;i<3;i++){
var child = new LSprite();
child.x = 250*i;
child.graphics.drawRect(2,"#ff0000",[0,0,100,100],true,"#ff0000");
child.addEventListener(LMouseEvent.MOUSE_DOWN,ondown);
child.addEventListener(LMouseEvent.MOUSE_UP,onup);
addChild(child);
}
}
function ondown(e){
e.clickTarget.startDrag(e.touchPointID);
}
function onup(e){
e.clickTarget.stopDrag();
}
Properties
alpha
Float
public
指定されたオブジェクトのアルファ透明度値を示します。有効な値は 0(完全な透明)~ 1(完全な不透明)です。デフォルト値は 1 です。alpha が 0 に設定されている表示オブジェクトは、表示されない場合でも、アクティブです。
Default: 0
blendMode
String
public
使用するブレンドモードを指定する LBlendMode クラスの値です。内部的には、2 つの方法でビットマップを描画できます。ブレンドモードを有効にした場合、または外部クリッピングマスクを使用する場合には、ビットマップで塗りつぶされた四角形シェイプをベクターレンダーに追加することによってビットマップが描画されます。このプロパティを無効な値に設定しようとすると、ランタイムは値を LBlendMode.NORMAL に設定します。
Default: null
childList
Array
public
子表示オブジェクトのリスト
filters
Array
public
表示オブジェクトに現在関連付けられている各フィルターオブジェクトが格納されているインデックス付きの配列です。
Default: null
graphics
LGraphics
public
[読み取り専用] ベクターの描画コマンドが発生するこのスプライトに属する LGraphics オブジェクトを指定します。
Example:
var layer = new LSprite();
addChild(layer);
layer.graphics.drawRect(2, "#ff0000", [10, 10, 50, 100], true, "#880088");
mask
LDisplayObject
public
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。ステージの拡大および縮小時にマスクが確実に機能するためには、表示リストのアクティブな部分に mask 表示オブジェクトが含まれている必要があります。mask オブジェクト自体は描画されません。マスクを除去するには mask を null に設定します。
Default: null
mouseChildren
Boolean
public
オブジェクトの子がマウスに対応しているかどうかを判断します。
Example:
LGlobal.setDebug(true);
var container1 = new LSprite();
container1.x = container1.y = 20;
var container2 = new LSprite();
container2.x = 20;
container2.y = 100;
container2.mouseChildren = false;
addChild(container1);
addChild(container2);
var button01 = new LButtonSample1("mouseChildren=true");
container1.addChild(button01);
button01.addEventListener(LMouseEvent.MOUSE_DOWN,function(e){
trace("button01 click");
});
var button02 = new LButtonSample1("mouseChildren=false");
container2.addChild(button02);
button02.addEventListener(LMouseEvent.MOUSE_DOWN,function(e){
trace("button02 click");
});
mouseEnabled
Boolean
public
このオブジェクトでマウスまたはその他のユーザー入力メッセージを受け取るかどうかを指定します。デフォルト値は true であり、これは表示リスト上の LInteractiveObject インスタンスがデフォルトでマウスイベントまたはその他のユーザー入力イベントを受け取ることを意味します。mouseEnabled を false に設定すると、インスタンスでは、マウスイベント(またはキーボードイベントなど、その他のユーザー入力イベント)を一切受け取りません。表示リスト上のこのインスタンスの子は影響を受けません。表示リスト上のオブジェクトのすべての子に関する mouseEnabled 動作を変更するには、LDisplayObjectContainer.mouseChildren を使用します。
Example:
LGlobal.setDebug(true);
var button01 = new LButtonSample1("mouseEnabled=true");
button01.x = button01.y = 20;
addChild(button01);
button01.addEventListener(LMouseEvent.MOUSE_DOWN,function(e){
trace("button01 click");
});
var button02 = new LButtonSample1("mouseEnabled=false");
button02.x = 20;
button02.y = 150;
button02.mouseEnabled = false;
addChild(button02);
button02.addEventListener(LMouseEvent.MOUSE_DOWN,function(e){
trace("button02 click");
});
numChildren
Int
public
このオブジェクトの子の数を返します。
Example:
var container1 = new LSprite();
var container2 = new LSprite();
var circle1 = new LSprite();
circle1.graphics.drawRect(1,"#000000",[0,0,50,50]);
var circle2 = new LSprite();
circle2.graphics.drawRect(1,"#000000",[100,100,50,50]);
container2.addChild(container1);
container1.addChild(circle1);
container1.addChild(circle2);
trace(container1.numChildren); // 2
trace(container2.numChildren); // 1
trace(circle1.numChildren); // 0
trace(circle2.numChildren); // 0
objectIndex
Int
public
オブジェクトのID
rotate
Float
public
LDisplayObject インスタンスの元の位置からの回転角を度単位で示します。時計回りに回転させる場合は 0 ~ 180 の値を指定します。反時計回りに回転させる場合は 0 ~ -180 の値を指定します。この範囲を超える値は、360 を加算または減算して、範囲内に収まる値になるように調整されます。例えば、my_video.rotate = 450 というステートメントは my_video.rotate = 90 と同義です。
Default: 0
scaleX
Float
public
基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。 デフォルトの基準点は (0,0) です。1.0 は縮尺 100% と同等です。
Default: 1
scaleY
Float
public
オブジェクトの基準点から適用されるオブジェクトの垂直スケール(パーセンテージ)を示します。 デフォルトの基準点は (0,0) です。1.0 は縮尺 100% です。
Default: 1
shapes
Array
public
衝突判定用形状リスト
Example:
function loadBitmapdata (event) {
var bitmapdata = new LBitmapData(event.currentTarget);
var bitmap = new LBitmap(bitmapdata);
layer = new LSprite();
layer.addChild(bitmap);
layer.x = 20;
layer.y = 50;
layer.addShape(LShape.VERTICES, [[180, 20], [210, 40], [210, 60], [120, 110], [35, 100]]);
layer.addShape(LShape.VERTICES, [[120, 110], [140, 120], [140, 150], [110, 160], [35, 120], [35, 100]]);
addChild(layer);
layer.addEventListener(LEvent.ENTER_FRAME, onframe);
}
function onframe (e) {
if (layer.hitTestPoint(mouseX, mouseY)) {
layer.alpha = 0.5;
} else {
layer.alpha = 1;
}
}
speed
Int
public
アニメーションのスピード。
Default: 0
Example:
function loadBitmapdata(event){
var backLayer = new LSprite();
addChild(backLayer);
var list = LGlobal.divideCoordinate(480,630,3,4);
var data = new LBitmapData(event.currentTarget,0,0,120,210);
var player = new LAnimationTimeline(data,list);
player.speed = 10;
backLayer.addChild(player);
var player2 = new LAnimationTimeline(data.clone(),list);
player2.speed = 5;
player2.x = 150;
backLayer.addChild(player2);
}
type
String
public
オブジェクトのタイプ
Default: LAnimationTimeline
visible
Boolean
public
表示オブジェクトが可視かどうかを示します。非可視の表示オブジェクトは無効になります。例えば、ある LInteractiveObject インスタンスが visible=false に設定されている場合、これをクリックすることはできません。
Default: true
x
Float
public
親 LDisplayObjectContainer のローカル座標を基準にした LDisplayObject インスタンスの x 座標を示します。変形されている LDisplayObjectContainer にオブジェクトが含まれる場合、そのオブジェクトの座標系は、それを囲む LDisplayObjectContainer のローカル座標系になります。したがって、反時計回りに 90 度回転した LDisplayObjectContainer の場合、その LDisplayObjectContainer の子は、反時計回りに 90 度回転した座標系を継承します。オブジェクトの座標は、基準点の位置を参照します。
Default: 0
y
Float
public
親 LDisplayObjectContainer のローカル座標を基準にした LDisplayObject インスタンスの y 座標を示します。変形されている LDisplayObjectContainer にオブジェクトが含まれる場合、そのオブジェクトの座標系は、それを囲む LDisplayObjectContainer のローカル座標系になります。したがって、反時計回りに 90 度回転した LDisplayObjectContainer の場合、その LDisplayObjectContainer の子は、反時計回りに 90 度回転した座標系を継承します。オブジェクトの座標は、基準点の位置を参照します。
Default: 0
Events
LEvent.COMPLETE
アニメーションは最後のフレームを実行する時。
LEvent.ENTER_FRAME
[ブロードキャストイベント] 再生ヘッドが新しいフレームに入るときに送出されます。
LMouseEvent.DOUBLE_CLICK
ユーザーが LInteractiveObject をポインティングデバイスのメインボタンで 2 回続けてすばやくクリックすると送出されます。
LMouseEvent.MOUSE_DOWN
ユーザーが LInteractiveObject インスタンス上でポインティングデバイスのボタンを押したときに送出されます。
LMouseEvent.MOUSE_MOVE
LInteractiveObject の上で、ユーザーがポインティングデバイスを移動させたときに送出されます。
LMouseEvent.MOUSE_OUT
ユーザーが LInteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。
LMouseEvent.MOUSE_OVER
ユーザーが LInteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。
LMouseEvent.MOUSE_UP
ユーザーが LInteractiveObject インスタンス上でポインティングデバイスのボタンを離したときに送出されます。