在 Corona SDK 中创建 clones/spawns/unique 个副本
Creating clones/spawns/unique duplicates in Corona SDK
我是 Corona SDK 的初学者,我目前正在尝试制作一个音板,屏幕上显示多个按钮,您点击的每个按钮都会发出不同的声音。我正在使用复制图像并让每个复制图像播放声音的过程,但我 运行 遇到了一些问题。
有什么方法可以创建 "clones" 显示对象?我的意思是,我想在屏幕上生成多张图片,每张图片都具有某种独特的价值,因此当点击其中一张时,我将能够识别出是哪一张。
试试这个:
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/
我是 Corona SDK 的初学者,我目前正在尝试制作一个音板,屏幕上显示多个按钮,您点击的每个按钮都会发出不同的声音。我正在使用复制图像并让每个复制图像播放声音的过程,但我 运行 遇到了一些问题。
有什么方法可以创建 "clones" 显示对象?我的意思是,我想在屏幕上生成多张图片,每张图片都具有某种独特的价值,因此当点击其中一张时,我将能够识别出是哪一张。
试试这个:
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/