问题标签 [spritebuilder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 从 CCSprite 临时禁用物理
我目前正在发现 Cocos2D 与 SpriteBuilder 的结合,我正在制作东西。
这很有趣 :)
我想要弄清楚的是:
- 在 SpriteBuilder 上,我创建了一个 CCSprite,并为此启用了物理。
- 我可以在 XCode 中调用它,并用它做任何我想做的事情。另外,精灵会根据应用到它的物理设置做出相应的反应。伟大的。
现在,我想做的是在代码中禁用这个精灵的物理特性。我在 Cocos2D API 中找不到可以解决问题的方法。
你能帮我吗 ?
感谢您的时间和帮助;)
ios - 在 main.m 中设置 UITapGestureRecognizer 委托运行时错误时
这个问题让我沮丧了好几个小时。我基本上有一个我需要使用的游戏UITapGestureRecognizer
,但是如果屏幕上有一个 CCButton,这个轻击手势会覆盖按钮上的轻击。为了解决这个问题,我在我的代码中实现了下面列出的方法-(BOOL)gestureRecognizer
。为了使这一点得到认可,我必须将UITapGestureRecognizer
's 委托设置为self
(至少据我所知)。
我的按钮本身就可以正常工作,没有错误。如果不声明 的委托UITapGestureRecognizer
,则轻拍被完美记录,一切正常,没有错误(我只是无法点击 CCButton)。当我一起实现这一切并设置委托并执行以下操作时,我得到了一个错误。我输入我的LevelScene
,点击我的 mainMenu 按钮,这使我回到我的主菜单,然后再次单击我的播放按钮,然后我的应用程序崩溃,并在我的文件中出现Thread 1: EXC_BAD_ACCESS (code = 1, address = 0xe000000c) 。main.m
我不确定为什么会发生这种情况,另外我正在使用 Spritebuilder,但我不确定这是否会影响任何事情。下面是相关代码(我是通过SpritebuilderGrid
添加到我的)。LevelScene
对不起,代码很长,但我认为这一切都是必要的。
主文件
水平场景.m
网格.m
网格.h
ios - SpriteBuilder:跨所有关键帧重新定位(等)精灵?
我正在使用 SpriteBuilder 和 cocos2d-iphone v3 来制作一个应用程序,并且我正在使用时间线为一些精灵设置动画,但我不知道是否有办法做到这一点。如果我为精灵添加了一些关键帧,现在我想重新定位精灵但保持它的动画相对于它的新位置相同,我必须遍历所有关键帧并更新新位置的位置。
有没有办法在时间轴的所有关键帧上应用一些东西?
例子:
Sprite1 在关键帧 0 处 (50,50);(60, 60) 在关键帧 1;(50, 60) 在关键帧 2;和 (50,50) 在关键帧 3,然后循环。我想将精灵从 (50,50) 移动到 (100,100),并且希望其余关键帧中的位置是 (110, 110)、(100, 110) 和 (100, 100),但是他们停留在 (60, 60), (50,60), (50,50)。
我希望这是有道理的,它看起来有点混乱,但我想不出一种更简单的方式来描述我的问题。
提前致谢!
ios - 在场景中插入带有 sprite 和 physic 的 CCNode
我实际上正在学习SpriteBuilder
这对我来说确实是一个很棒的工具,但是我面临着CCNode
在我的场景中包含一个问题(以编程方式)的麻烦。
所以,我有一个场景“ Gameplay
”,我的角色是从其他CCB
文件实现的。
关于风景,起初我把我的地图和一些墙(用于场景限制)放在我的Gameplay.ccb
(带有物理节点)中。
然后,我想从外部文件中添加那个风景(因为我希望能够在同一场景中的不同风景之间切换)。所以我创建了一个CCSprite
,我在里面插入了我的地图,然后是我的墙(这个新文件是map.ccbi
)。
当我在我的场景中实现 map.ccbi 时,显示了地图,但墙似乎不在了(角色和墙之间没有碰撞)。
Gameplay
该地图是在我的场景的物理节点中实现的。
这是我实现地图的代码部分:
我的地图是通过一个类实现的:
ios7 - 从场景中移除所有“敌人”ccsprite 时显示一个按钮
我正在使用 SpriteBuilder 制作游戏。目标是摧毁一些 CCSprite。我在屏幕上有 3 个精灵并被另一个精灵破坏,所以当没有更多的“敌人”精灵时,必须显示下一个按钮,因此代码必须与此有关。我在网上看过,对 Cocos2D 编码没有经验。这是我用来摆脱“敌人”的代码
如果物体以一定的速度被击中,它将调用下面的方法
非常感谢,如果之前有人问过这个问题,我很抱歉,但我找不到
ios - Cocos2D 中数组精灵的碰撞检测
我对 Objective-C 和 Cocos2D 还很陌生,所以放轻松,我知道这是基本的东西。
我正在使用一个数组在屏幕上随机放置 4 个金币精灵,我正在使用另一个精灵(一条龙)飞来飞去收集金币。显然,我希望硬币消失,另一个随机出现(就像在 Snake 中收集苹果一样)。我的问题是我不知道如何引用各个精灵。我已经为更新方法添加了一些处理,但是 a) 我认为它不合适,并且 b) 它没有做任何事情。请帮忙。我想我需要利用:
但我不确定如何。这就是我用环填充屏幕的方式::
问如何计算这些以显示分数是否太过分了?
非常感谢您的帮助。
编辑*
金戒指阵列上的 NSLog
ios - Spritebuilder“发送到实例的无法识别的选择器”
我试图在我的 sprite builder 项目中创建一个游戏结束视图。我有两个问题。首先,当我将图像复制到 Gameover.ccb 时,xcode 会抛出一个错误,说它找不到该图像。我不明白这一点,因为该文件正好位于 xcode 说它找不到它的位置。
第二个问题是我在我的 GameOverScene.ccb 中创建了一个按钮。我将 doc root var 分配给“_restartGameover”,并且我选择了选择器作为目标文档根目录的“resgame”。然后在 xcode 上的 GameOverScene.m 中,我有以下代码
但是当我在 xcode 中运行项目并单击按钮时,我收到一条错误消息 "Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CCNode resgame]: unrecognized selector sent to instance 0x14d6ffa0'
“。如果有人可以帮助我解决这个问题,我将不胜感激,因为我已经坚持了几个小时了。我对此也很陌生因此,如果您能清楚地解释您的解决方案,那也很棒。
http://tinypic.com/r/29mom7n/8
所以这就是我的 spritebuilder 屏幕,当我运行 xcode 项目时,会显示 ccnodegradient 和 ccbutton 但不显示 apple.jpg。当 ccbutton 被按下时,它会抛出该错误
ios - Spritebuilder“找不到文件:ccbResources/apple.jpg”
我使用 spritebuilder 来构建游戏。我创建了一个名为 GameOverScene 的新场景。在场景中,我有 2 个 CCButton,一个名为 highscore 的 CCLabel,一个 CCNodeGradient 和一个名为 apple 的图像。当我在 xcode 中运行我的项目时,除了苹果图像之外,一切都出现了。xcode 抛出此错误 cocos2d: Warning: File not found: ccbResources/apple.jpg
,但该文件正好位于 xcode 告诉我它找不到它的位置。
关于如何解决这个问题的任何想法?
android - iOS 应用转换的可测错误
我正在我的 x-code 项目目录中为在 iOS 模拟器上运行的应用程序运行命令“可移植负载”。我有 x-code 5.0.2,当我尝试更新 apportable 时,它说它是最新版本。
对于错误输出的范围,我很抱歉,因为它可能难以阅读。我注意到一些错误正在挑选声音效果并且它们无法被引用。
为什么直接来自 spritebuilder 界面时无法识别对 CCScreenModeFixed 等设置的引用?apportable是否支持音效,如果支持为什么找不到我的?
/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source/AppDelegate.m:58:错误:未定义对“CCSetupScreenMode”的引用
/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source/AppDelegate.m:58:错误:未定义对“CCScreenModeFixed”的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(AppDelegate.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /AppDelegate.m:函数 L_OBJC_CLASSLIST_REFERENCES_$_22:错误:未定义对“OBJC_CLASS_$_CCBReader”的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(AppDelegate.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /AppDelegate.m:函数 OBJC_METACLASS_$_AppController:错误:未定义对 'OBJC_METACLASS_$_CCAppDelegate' 的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(AppDelegate.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /AppDelegate.m:函数 OBJC_CLASS_$_AppController:错误:未定义对“OBJC_CLASS_$_CCAppDelegate”的引用 /Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source/Gameplay.m:186:错误:未定义对“clampf”的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Gameplay.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Gameplay.m:function L_OBJC_CLASSLIST_REFERENCES_$_: 错误:未定义的对 'OBJC_CLASS_$_OALSimpleAudio' 的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Gameplay.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Gameplay.m:function L_OBJC_CLASSLIST_REFERENCES_$_73: 错误: 未定义对 'OBJC_CLASS_$_CCBReader' 的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Gameplay.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Gameplay.m:function L_OBJC_CLASSLIST_REFERENCES_$_122: 错误: 未定义引用'OBJC_CLASS_$_CCDirector'
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Gameplay.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Gameplay.m:函数 L_OBJC_CLASSLIST_REFERENCES_$_133:错误:未定义对“OBJC_CLASS_$_CCActionMoveBy”的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Gameplay.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Gameplay.m:function L_OBJC_CLASSLIST_REFERENCES_$_138: 错误: 未定义引用'OBJC_CLASS_$_CCActionSequence'
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Gameplay.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Gameplay.m:function L_OBJC_CLASSLIST_REFERENCES_$_141: 错误: 未定义引用'OBJC_CLASS_$_CCActionEaseBounce'
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Gameplay.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Gameplay.m:function OBJC_METACLASS_$_Gameplay: 错误:未定义的对 'OBJC_METACLASS_$_CCNode' 的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Gameplay.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Gameplay.m:function OBJC_CLASS_$_Gameplay: 错误: 未定义对 'OBJC_CLASS_$_CCNode' 的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Goal.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Goal.m:函数 OBJC_METACLASS_$_Goal:错误:未定义对 'OBJC_METACLASS_$_CCNode' 的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Goal.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Goal.m:函数 OBJC_CLASS_$_Goal:错误:未定义对 'OBJC_CLASS_$_CCNode' 的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Hiss.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Hiss.m:函数 OBJC_METACLASS_$_Hiss:错误:未定义对 'OBJC_METACLASS_$_CCNode' 的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(Hiss.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /Hiss.m:函数 OBJC_CLASS_$_Hiss:错误:未定义对 'OBJC_CLASS_$_CCNode' 的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(MainScene.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /MainScene.m:函数 L_OBJC_CLASSLIST_REFERENCES_$_:错误:未定义对 'OBJC_CLASS_$_CCBReader' 的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(MainScene.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /MainScene.m:函数 L_OBJC_CLASSLIST_REFERENCES_$_1:错误:未定义对“OBJC_CLASS_$_CCDirector”的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(MainScene.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /MainScene.m:函数 L_OBJC_CLASSLIST_REFERENCES_$_6:错误:未定义对“OBJC_CLASS_$_OALSimpleAudio”的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(MainScene.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /MainScene.m:函数 OBJC_METACLASS_$_MainScene:错误:未定义对 'OBJC_METACLASS_$_CCNode' 的引用
/Users/mateusz/.apportable/SDK/Build/android-armeabi-debug/com.apportable.Eltie/Eltie/libEltie.a(MainScene.mo):/Users/mateusz/Documents/SpriteBuilder Games/Eltie.spritebuilder/Source /MainScene.m:函数 OBJC_CLASS_$_MainScene:错误:未定义对“OBJC_CLASS_$_CCNode”忍者的引用:构建已停止:子命令失败。错误:命令失败:/Users/mateusz/.apportable/SDK/toolchain/macosx/ninja/ninja --no-strip-ansi-escapes -j 8 /Users/mateusz/.apportable/SDK/Build/android-armeabi-调试/Eltie/Eltie-debug.apk
cocos2d-iphone - SpriteBuilder 和视差
有没有办法在所见即所得的 SpriteBuilder 中获得视差?
我现在假设没有办法做到这一点,除了在代码中改变一些东西:例如定义一个 Level 作为 CCParallaxNode 而不是 CCNode 的后代,然后将内容删除+读取到节点,定义视差比率。
(旁注:cocos2d-iphone 版本 3 没有标签)