我是Corona的一个极端初学者,我目前正在尝试制作一个声音板,在那里屏幕显示多个按钮,你点击的每一个按钮都发出不同的声音。我正在使用一个复制图像的过程,让每个复制播放一个声音,但我遇到了一些问题。
有什么方法可以创建显示对象的“克隆”吗?我的意思是,我想在屏幕上产生多个图像,每个图像都有某种独特的价值,所以当其中一个被点击时,我将能够识别出哪个图像。
发布于 2016-01-19 18:30:24
试试这个:
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不支持MP3,所以如果你也计划瞄准这个市场,请记住这一点:https://docs.coronalabs.com/guide/media/audioSystem/index.html。
您也可以在metatables中使用模块化类,但我认为在本例中没有必要,但下面是有关这一点的更多信息:https://coronalabs.com/blog/2011/09/29/tutorial-modular-classes-in-corona/
https://stackoverflow.com/questions/34867032
复制相似问题