既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
“is background music playing”,
“play effect”,
“play effect repeatly”,
“stop effect”,
“unload effect”,
“add background music volume”,
“sub background music volume”,
“add effects volume”,
“sub effects volume”,
“pause effect”,
“resume effect”,
“pause all effects”,
“resume all effects”,
“stop all effects”
}
– 菜单回调方法
local function menuCallback(tag, pMenuItem)
local nIdx = pMenuItem:getLocalZOrder() - 10000
– play background music
if nIdx == 0 then
AudioEngine.playMusic(MUSIC_FILE, true) – 播放音乐
elseif nIdx == 1 then
– stop background music
AudioEngine.stopMusic() – 停止背景音乐
elseif nIdx == 2 then
– pause background music
AudioEngine.pauseMusic() – 暂停音乐
elseif nIdx == 3 then
– resume background music
AudioEngine.resumeMusic() – 继续播放音乐
– rewind background music
elseif nIdx == 4 then
AudioEngine.rewindMusic() – 循环播放
elseif nIdx == 5 then
– is background music playing
if AudioEngine.isMusicPlaying () then – 音乐正在播放
cclog(“background music is playing”)
else
cclog(“background music is not playing”)
end
elseif nIdx == 6 then
– play effect
m_nSoundId = AudioEngine.playEffect(EFFECT_FILE) – 播放音效
elseif nIdx == 7 then
– play effect
m_nSoundId = AudioEngine.playEffect(EFFECT_FILE, true) – 播放音效,第二个参数表示是否循环,true表示循环
elseif nIdx == 8 then
– stop effect
AudioEngine.stopEffect(m_nSoundId) – 停止音效
elseif nIdx == 9 then
– unload effect
AudioEngine.unloadEffect(EFFECT_FILE) – 不加载音效
elseif nIdx == 10 then
– add bakcground music volume
AudioEngine.setMusicVolume(AudioEngine.getMusicVolume() + 0.1) – 增加音量
elseif nIdx == 11 then
– sub backgroud music volume
AudioEngine.setMusicVolume(AudioEngine.getMusicVolume() - 0.1) – 减小音量
elseif nIdx == 12 then
– add effects volume
AudioEngine.setEffectsVolume(AudioEngine.getEffectsVolume() + 0.1) – 增加音效音量
elseif nIdx == 13 then
– sub effects volume
AudioEngine.setEffectsVolume(AudioEngine.getEffectsVolume() - 0.1) – 减少音效音量
elseif nIdx == 14 then
AudioEngine.pauseEffect(m_nSoundId) – 暂停音效
elseif nIdx == 15 then
AudioEngine.resumeEffect(m_nSoundId) – 恢复音效
elseif nIdx == 16 then
AudioEngine.pauseAllEffects() – 暂停所有音效
elseif nIdx == 17 then
AudioEngine.resumeAllEffects() – 恢复所有音效
elseif nIdx == 18 then
AudioEngine.stopAllEffects() – 停止所有音效
end
end
– add menu items for tests
m_pItmeMenu = cc.Menu:create() – 创建菜单
m_nTestCount = table.getn(testItems)
local i = 1
for i = 1, m_nTestCount do
local label = cc.Label:createWithTTF(testItems[i], s_arialPath, 24)
label:setAnchorPoint(cc.p(0.5, 0.5))
local pMenuItem = cc.MenuItemLabel:create(label) – 菜单标签
pMenuItem:registerScriptTapHandler(menuCallback) – 注册菜单回调方法
m_pItmeMenu:addChild(pMenuItem, i + 10000 -1)
pMenuItem:setPosition( cc.p( VisibleRect:center().x, (VisibleRect:top().y - i * LINE_SPACE) ))
end
– 设置菜单内容大小
m_pItmeMenu:setContentSize(cc.size(VisibleRect:getVisibleRect().width, (m_nTestCount + 1) * LINE_SPACE))
m_pItmeMenu:setPosition(cc.p(0, 0))
ret:addChild(m_pItmeMenu)
– preload background music and effect
AudioEngine.preloadMusic( MUSIC_FILE ) – 预加载音乐
AudioEngine.preloadEffect( EFFECT_FILE ) – 预加载音效
– set default volume
AudioEngine.setEffectsVolume(0.5) – 设置音效音量
AudioEngine.setMusicVolume(0.5) – 设置音乐音量
local function onNodeEvent(event)
if event == “enter” then – 进来时
elseif event == “exit” then – 退出时
AudioEngine.destroyInstance() – 销毁对象
end
end
– 注册层的结点事件
ret:registerScriptHandler(onNodeEvent)
local prev = {x = 0, y = 0}
local function onTouchEvent(eventType, x, y)
if eventType == “began” then – 开始点击
prev.x = x
prev.y = y
m_tBeginPos = cc.p(x, y) – 开始点击位置
return true
elseif eventType == “moved” then – 移动事件
local touchLocation = cc.p(x, y) – 获取触摸的位置
local nMoveY = touchLocation.y - m_tBeginPos.y – 触摸位置减去开始位置等于移动的距离
local curPosX, curPosY = m_pItmeMenu:getPosition() – 获取当前菜单的位置
local curPos = cc.p(curPosX, curPosY) – 当前位置
local nextPos = cc.p(curPos.x, curPos.y + nMoveY) – 下一个位置
if nextPos.y < 0.0 then
m_pItmeMenu:setPosition(cc.p(0, 0))
end
if nextPos.y > ((m_nTestCount + 1)* LINE_SPACE - VisibleRect:getVisibleRect().height) then
m_pItmeMenu:setPosition(cc.p(0, ((m_nTestCount + 1)* LINE_SPACE - VisibleRect:getVisibleRect().height)))
end
m_pItmeMenu:setPosition(nextPos)
m_tBeginPos.x = touchLocation.x – 重新记录开始位置
m_tBeginPos.y = touchLocation.y
prev.x = x
prev.y = y
end
end
– 触摸开始回调方法
local function onTouchBegan(touch, event)
local location = touch:getLocation()
prev.x = location.x
prev.y = location.y
m_tBeginPos = location
return true
end
– 触摸移动的回调方法
local function onTouchMoved(touch, event)
local location = touch:getLocation()
local touchLocation = location
local nMoveY = touchLocation.y - m_tBeginPos.y
local curPosX, curPosY = m_pItmeMenu:getPosition()
local curPos = cc.p(curPosX, curPosY)
local nextPos = cc.p(curPos.x, curPos.y + nMoveY)
if nextPos.y < 0.0 then
m_pItmeMenu:setPosition(cc.p(0, 0))
end
if nextPos.y > ((m_nTestCount + 1)* LINE_SPACE - VisibleRect:getVisibleRect().height) then
m_pItmeMenu:setPosition(cc.p(0, ((m_nTestCount + 1)* LINE_SPACE - VisibleRect:getVisibleRect().height)))
end
m_pItmeMenu:setPosition(nextPos)
m_tBeginPos.x = touchLocation.x
m_tBeginPos.y = touchLocation.y
prev.x = location.x
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
.y = touchLocation.y
prev.x = location.x
[外链图片转存中…(img-uNQNfzX1-1715736519102)]
[外链图片转存中…(img-BmLkSdWo-1715736519102)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!