action.md

2018-11-22 17:56 更新

ngui/action

create(json[,parent])

  • 通過json數(shù)據(jù)創(chuàng)建動作,如果傳入的jsonAction跳過創(chuàng)建過程

    如果傳入父動作,創(chuàng)建完成追加新創(chuàng)建的動作到parent結(jié)尾

  • 如果傳入的數(shù)據(jù)里有seq屬性創(chuàng)建SequenceAction

  • 如果傳入的數(shù)據(jù)里有spawn屬性創(chuàng)建SpawnAction

  • 如果傳入的數(shù)據(jù)里沒有seq也沒spawn創(chuàng)建KeyframeAction

對像的內(nèi)部屬性frame如果為Array,那么用這個Array創(chuàng)建Frame

Example:

var act1 = action.create([
    { time:0, x:0 },
    { time:1000, x:100 },
]);
var act1 = action.create({
    delay: 1000,
    frame: [
        { time:0, x:0, curve: 'linear', },
        { time:1000, x:100 },
    ]
});
// 創(chuàng)建SequenceAction并有兩子KeyframeAction
var act2 = action.create({
    loop: -1,
    seq: [
        {
            frame: [
                { time:0, x: 0 },
                { time:1000, x: 100 },
            ]
        },
        [
            { time:0, x: 100 },
            { time:1000, x: 0 },
        ]
    ]
})

transition(view,style[,delay[,cb]])

transition(view,style[,cb])

  • 通過樣式創(chuàng)建視圖樣式過渡動作并播放這個動作,完成后回調(diào)

Callback: cb()

Example:

// 1秒后過渡完成并回調(diào)
action.transition(view, {
    time: 1000,
    y: 100, 
    x: 100,
}, ()={
    console.log('view transition end');
})
// 延時1秒后開始播放,并使用線性過渡
action.transition(view2, {
    time: 1000,
    curve: 'linear',
    y: 100, 
    x: 100,
}, 1000)

Class: Action

  • abstract class

  • 動作基礎(chǔ)類型,這是個抽象類型沒有構(gòu)造函數(shù)

Action.play()

  • 播放動作

Action.stop()

  • 停止動作

Action.seek(time)

  • 跳轉(zhuǎn)到目標(biāo)time時間,調(diào)用后會重置loopd

  • 不包含延時時間,如果想在延時之前,可傳入負(fù)數(shù)time

  • @arg time {int} ms

Action.seekPlay(time)

  • 跳轉(zhuǎn)到目標(biāo)time時間,并開始播放,調(diào)用后會重置loopd

  • @arg time {int} ms

Action.seekStop(time)

  • 跳轉(zhuǎn)到目標(biāo)time時間,并停止播放,調(diào)用后會重置loopd

  • @arg time {int} ms

Action.clear()

  • 清空動作,清空動作后會立即停止動作

Action.loop

  • 動作循環(huán)播放的次數(shù),-1表示無限循環(huán)

Get: Action.loopd

  • 當(dāng)前動作已經(jīng)循環(huán)播放的次數(shù)

Action.delay

  • 延時播放

Get: Action.delayd

  • 延時過去的時間

Action.speed

  • 播放速率,默認(rèn)為1.0,可設(shè)置的范圍在0.110.0之間

Action.playing

  • 是否播放中,設(shè)置action.playing = true相當(dāng)調(diào)用action.play()

Get: Action.duration

  • 當(dāng)前動作的時長不包括延時,對于SpawnAction取最長的子動作

Get: Action.parent

  • 父動作,如果沒有父動作返回null

Class: GroupAction

  • abstract class
  • extends Action

  • 動作集合,這是個抽象類型沒有構(gòu)造函數(shù)

Get: GroupAction.length

  • {uint}

    GroupAction.append(child)

  • 追加子動作到結(jié)尾

  • @arg child {Action}

    GroupAction.insert(index, child)

  • 插入子動作到index的位置

  • @arg index {uint}
  • @arg child {Action}

    GroupAction.removeChild(index)

  • 通過index刪除子動作

  • @arg index {uint}

    GroupAction.children(index)

  • 獲取子動作

Class: SpawnAction

  • 并行子動作實現(xiàn),所有的動作并行一起播放

SpawnAction.spawn(index)

  • 返回子動作children(index)的別名函數(shù)

  • @arg index {uint}
  • @ret {Action}

Class: SequenceAction

  • 串行子動作實現(xiàn),子動作一個接一個串行播放

SequenceAction.seq(index)

  • 返回子動作children(index)的別名函數(shù)

  • @arg index {uint}
  • @ret {Action}

Class: KeyframeAction

  • 關(guān)鍵幀動作, 不能包含子動作

KeyframeAction.hasProperty(name)

  • 測試當(dāng)前是否添加了屬性名name

KeyframeAction.matchProperty(name)

  • 測試屬性名稱是否與當(dāng)前綁定的視圖匹配

KeyframeAction.frame(index)

  • 通過索引獲取關(guān)鍵幀

KeyframeAction.add([time[,curve]])

  • 通過time時間與曲線curve添加關(guān)鍵幀,并返回關(guān)鍵幀

'linear'、'ease''easeIn'、'easeOut'、'easeInOut' 做為參數(shù)。

KeyframeAction.add([style])

  • 通過style對像屬性添加關(guān)鍵幀,并返回關(guān)鍵幀

Get: KeyframeAction.first

  • 第一個關(guān)鍵幀

Get: KeyframeAction.last

  • 最后一個關(guān)鍵幀

Get: KeyframeAction.length

  • 關(guān)鍵幀數(shù)量

Get: KeyframeAction.position

  • 當(dāng)前關(guān)鍵幀的播放位置,-1表示還未開始播放

Get: KeyframeAction.time

  • 當(dāng)前播放時間time

Class: Frame

  • 關(guān)鍵幀

Frame.fetch([view])

  • 通過視圖抓取樣式屬性填充到當(dāng)前frame

    如果不傳入視圖抓取當(dāng)前綁定的視圖樣式屬性

  • @arg [view] {View}

Frame.flush()

  • 恢復(fù)當(dāng)前關(guān)鍵幀樣式屬性為默認(rèn)值

Get: Frame.index

  • 關(guān)鍵幀所在的動作中的索引位置

Frame.time

  • 關(guān)鍵幀的所在動作中的時間time

Get: Frame.host

Frame.curve

  • 當(dāng)前關(guān)鍵幀到下一個關(guān)鍵幀的過渡曲線

可使用 LINEAREASE、EASE_INEASE_OUT、EASE_IN_OUT

'linear''ease'、'easeIn''easeOut'、'easeInOut' 做為值設(shè)置。

Frame.translate

Frame.scale

Frame.skew

Frame.origin

Frame.margin

Frame.border

Frame.borderWidth

Frame.borderColor

Frame.borderWadius

Frame.minWidth

Frame.minHeight

Frame.start

Frame.ratio

Frame.width

Frame.height

Frame.x

Frame.y

Frame.scaleX

Frame.scaleY

Frame.skewX

Frame.skewY

Frame.originX

Frame.originY

Frame.rotateZ

Frame.opacity

Frame.visible

Frame.marginLeft

Frame.marginTop

Frame.marginRight

Frame.marginBottom

Frame.borderLeft

Frame.borderTop

Frame.borderRight

Frame.borderBottom

Frame.borderLeftWidth

Frame.borderTopWidth

Frame.borderRightWidth

Frame.borderBottomWidth

Frame.borderLeftColor

Frame.borderTopColor

Frame.borderRightColor

Frame.borderBottomColor

Frame.borderRadiusLeftTop

Frame.borderRadiusRightTop

Frame.borderRadiusRightBottom

Frame.borderRadiusLeftBottom

Frame.backgroundColor

Frame.newline

Frame.contentAlign

Frame.textAlign

Frame.maxWidth

Frame.maxHeight

Frame.startX

Frame.startY

Frame.ratioX

Frame.ratioY

Frame.repeat

Frame.textBackgroundColor

Frame.textColor

Frame.textSize

Frame.textStyle

Frame.textFamily

Frame.textLineHeight

Frame.textShadow

Frame.textDecoration

Frame.textOverflow

Frame.textWhiteSpace

Frame.alignX

Frame.alignY

Frame.shadow

Frame.src

Frame.backgroundImage

LINEAR

EASE

EASE_IN

EASE_OUT

EASE_IN_OUT

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號