【问题标题】:Creating clones/spawns/unique duplicates in Corona SDK在 Corona SDK 中创建克隆/生成/唯一副本
【发布时间】:2016-01-20 02:30:24
【问题描述】:

我是 Corona SDK 的初学者,我目前正在尝试制作一个音板,其中屏幕显示多个按钮,并且您点击的每个按钮都会发出不同的声音。我正在使用复制图像并让每个副本播放声音的过程,但遇到了一些问题。

有没有一种方法可以创建显示对象的“克隆”?我的意思是,我想在屏幕上生成多个图像,每个图像都有某种独特的价值,因此当其中一个被点击时,我将能够识别出哪一个。

【问题讨论】:

    标签: lua coronasdk


    【解决方案1】:

    试试这个:

    local function onClickButton( event )
        local button = event.target
        if event.phase == "ended" then
            audio.stop() -- Stop ALL current channels
            audio.play( button.stream )
        end
    end
    
    local function createButton( params )
        local x = params.x or 0
        local y = params.y or 0
        local audio_location = params.audio or "my_sound.mp3"
    
        local button = display.newRect( x, y, 50, 50 )
        button.stream = audio.loadStream( audio_location )
        button:addEventListener( "touch", onClickButton )
    end
    
    createButton( { x = 100, y = 100, audio = "my_sound.mp3" } )
    createButton( { x = 200, y = 100, audio = "my_sound_2.mp3" } )
    createButton( { x = 100, y = 200, audio = "my_sound_3.mp3" } )
    createButton( { x = 200, y = 200, audio = "my_sound_4.mp3" } )
    

    Windows Phone 不支持 MP3,因此如果您也计划瞄准该市场,请记住这一点: https://docs.coronalabs.com/guide/media/audioSystem/index.html

    您也可以将模块化类与 metatables 一起使用,但我认为在这种情况下没有必要,但这里有更多信息: https://coronalabs.com/blog/2011/09/29/tutorial-modular-classes-in-corona/

    【讨论】:

    • 非常感谢!完美运行!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    • 2016-05-19
    • 2017-07-28
    • 2011-08-08
    相关资源
    最近更新 更多