如何建立一个循环的动画,并且它不定时在三个地方显示呢?

编辑器好垃圾啊~~~不能用code格式化。

–生成鱼跳动的特效
function FishLayer:addFish()
local num = math.random(3)
local m_pos = {}

if num == 1 then
    m_pos = {236,200}
elseif num == 2 then
    m_pos = {550,1000}
else
    m_pos = {100,850}
end

local fish = display.newSprite("#fj_app_dz_ht1@2x.png")
local frames = display.newFrames("fj_app_dz_ht%01d@2x.png", 1, 6)
local animation = display.newAnimation(frames, 0.2) 
--local action1 = transition.playAnimationForever(fish, animation, 1)
fish:setPosition(m_pos, m_pos)
transition.playAnimationOnce(fish,animation,true,addFish,0.5)
return fish

end

现在遇到的问题是。

我想建立一个动画,它随机在3个点显示。且不停的随机显示。

自问自答了。。。

最终自己搞定了:

–生成鱼跳动的特效
function FishLayer:createFish(m_node)

local fish = display.newSprite("#fj_app_dz_ht1@2x.png")
local tempFishType = 1

local function addFish()
    local num = math.random(3) 
    if num == tempFishType then
        if tempFishType == 1 then
            num = num + 1
        elseif tempFishType == 3 then
            num = 2
        else
             num = 3
        end 
    end

    tempFishType = num
    
    local m_pos = {}

    if num == 1 then
        m_pos = {200,285}
    elseif num == 2 then
        m_pos = {550,1000}
    else
        m_pos = {100,850}
    end

    local frames = display.newFrames("fj_app_dz_ht%01d@2x.png", 1, 7)
    local animation = display.newAnimation(frames, 0.1) 
    fish:setPosition(m_pos, m_pos)

    local sequence = transition.sequence({CCAnimate:create(animation),
        CCMoveBy:create(1, CCPointMake(0, 0)),
        CCCallFuncN:create(addFish)
    })

    fish:runAction(sequence)
end

addFish()
m_node:addChild(fish)

end