Cocos2d iphone 适用于iPad的cocos2d吉他弦
我开始与Cocos2D合作,到目前为止学到了很多。但我找不到如何模拟ccDrawLine,使其行为类似于吉他弦,也就是说,当触摸ccDrawLine时,它会播放声音并将ccDrawLine移动到用户触摸它的位置。我没有使用Cocos2D的经验,但模拟吉他弦的过程可能是这样的:Cocos2d iphone 适用于iPad的cocos2d吉他弦,cocos2d-iphone,guitar,Cocos2d Iphone,Guitar,我开始与Cocos2D合作,到目前为止学到了很多。但我找不到如何模拟ccDrawLine,使其行为类似于吉他弦,也就是说,当触摸ccDrawLine时,它会播放声音并将ccDrawLine移动到用户触摸它的位置。我没有使用Cocos2D的经验,但模拟吉他弦的过程可能是这样的: 画你的线 在字符串周围添加有效的“触摸区域”(因为小字符串可能不够厚,无法可靠地记录触摸) 当您在触摸区域的边界内检测到触摸时,请设置线条动画以模拟strum,并播放声音(并将其淡出,以模拟振动的减缓) 另一个需要考虑
- 画你的线李>
- 在字符串周围添加有效的“触摸区域”(因为小字符串可能不够厚,无法可靠地记录触摸)李>
- 当您在触摸区域的边界内检测到触摸时,请设置线条动画以模拟strum,并播放声音(并将其淡出,以模拟振动的减缓)
编辑:事实证明,Cocos2D确实有自己的触摸事件处理程序。请参阅:我将使用一个免费且简单的矢量艺术工具(如Inkscape)来实现这一点。它将允许您制作一些不同厚度/纹理的逼真字符串。将字符串作为不同的精灵导入应用程序。Cocos2d有很多选项可以轻松检测“isTouchOnNode”之类的东西,这非常适合您的场景。具体来说,它可以实现简单的触摸检测和节点选择 我目前无法访问Xcode,因此这可能不是逐字的代码:
/* if you use Kobold2d */
CCSprite* Gstring = [CCSprite spriteWithFile:@"Gstring.png"];
KKInput* input = [KKInput sharedInput];
if ([input isAnyTouchOnNode:Gstring touchPhase:KKTouchPhaseAny])
{
// play a sound.
// this code will become extremely complicated
// if you want a realistic sound
}
请记住,如果你打算制作一个声音/音乐密集型应用程序,cocos2d可能不是最好的引擎。它有一个来自CocosDenshion的非常基本的“SimpleAudioEngine”,它的设计不是为了处理吉他可以发出的许多重叠声音