问题标签 [ccnode]

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.

0 投票
0 回答
115 浏览

cocos2d-iphone - 从 CCScene 处理 CCNode 中的按钮

我正在 cocos2d v3 中创建游戏。在 中CCScene,我添加了一个CCNode包含我的 HUD 的所有组件。在CCNode中,CCButton添加了s。我希望能够在我的CCScene. 那可能吗?如果是这样,它是如何优雅地完成的?

我今天早上测试并正在运行的代码:

CCNode头文件(头类):

我在 CCNode 的实现文件中设置了金按钮的基础知识(定位、精灵帧等)。

CCScene实现文件(PlayScene 类):

在场景中设置按钮的目标似乎有点奇怪,但它确实有效。如果您愿意,我想知道这种情况下的“最佳实践”。

0 投票
1 回答
54 浏览

ios - 在 FOR 语句中获取 CCNode/CCSprite

我有许多 CCNode,它们都运行相同的查询。我正在尝试简化代码,并想知道是否可以在 FOR 语句中获取 CCNodes。

例如,如果我在 NSArray 中有 CCNodes 引用,例如

我将如何在 FOR 语句中引用它们?

这可能吗?

0 投票
1 回答
146 浏览

ios - Get position of CCSprite

Im a bit confused. I am trying to move one CCSprite onto the position of another CCSprite. I figured it would be simple, but the CCSprite isn't positioning correctly. I have 2 CCSprites:

I am then trying to get the position of the EMPTY SPRITE (Its not actually empty) by doing

I am then animating it with:

This sends the sprite off the screen. What am I doing wrong?

0 投票
0 回答
108 浏览

cocos2d-iphone - Cocos2D runaction 不运行

我有一个有 2 个场景的项目。

在我的第二个场景中,我有一个按钮。单击此按钮时,会在运行时从 SPriteBuilder 资源中创建 CCNode。这个名为“Strategy”的CCNode,在策略节点的SpriteBuilder中创建了5个自定义CCNode。

当我在这个策略 CCNode 中添加一个简单的 CCNode 并尝试运行一个动作时,什么都没有发生,同时在另一个 SCene 中一切正常,并且在第二个场景中,但在策略 CCNode 上下文中没有。

为什么这个???

编辑:

0 投票
1 回答
97 浏览

objective-c - 如何通过触摸删除 CCnode?

我需要帮助我试图删除一个不断在不同位置重生的 ccnode 并将它们添加到一个数组中以控制屏幕上的哪些精灵,但问题是我无法删除它们。它检测到触摸但没有删除任何想法?这是我用来摆脱节点的代码。

0 投票
1 回答
58 浏览

for-loop - 使用 for 循环将 CCNodes 添加到父 CCNode

我想将 fieldArray 中的 CCNodes 添加到父 CCNode“stackNode”上。当我使用断点时,我可以在索引 0 处添加 CCNode,在索引 1 处添加 CCNode。但是程序在 i=2 处崩溃。我收到的错误是:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“子节点已添加到另一个节点。无法再次添加'

在崩溃之前“stackNode”有两个孩子。我没有一一添加 CCNode,因为我有数百个不同的数组,其中许多 fieldArray.count 大约为 20。如果我不清楚,请帮助我解释更多。

0 投票
0 回答
152 浏览

cocos2d-iphone - 修复了瓷砖地图 cocos2d 上的精灵?

我不知道如何处理瓦片地图图层和其他节点。当整个地图滚动时,我想为菜单按钮、得分、操纵杆等内容制作另一个图层(CCNode),这些图层必须始终保持固定(不滚动)。

现在upArrow在屏幕上根本不可见。如果我添加 toself而不是joystickNode,它将出现。

我什至无法理解,新的 CCNode 应该有什么父级。谁能给我解释一下?我还尝试将新的 CCNode 添加为selfand的子级theMap

编辑:哎呀,它实际上是在移动相机。在这种情况下如何实施?

0 投票
0 回答
108 浏览

objective-c - CCNode addChild from 方法

我正在尝试将 CCNode 添加到我的场景中。

它在场景类(Level.m)本身中使用它:

现在我正在尝试做同样的事情,但现在通过调用另一个类(Cursor.m)的方法,如下所示:

级别.m:

为什么这不起作用?

0 投票
1 回答
40 浏览

ios - Cocos2d 节点不接受触摸

Cocos2d v3:我有一个很奇怪的问题。我有十几个 CCNode,它们就像我的游戏的菜单一样。它们只占据屏幕中心的一小部分。为了呈现一个节点,我隐藏(node.visible = NO)所有其他节点。其中两个节点将具有用户可以与之交互的 CCTableView,例如滚动和单元格选择。一个表中的更改会导致其他表数据的更改。我正在使用 SpriteBuilder 进行游戏。SpriteBuilder 没有 CCTableView,所以我必须以编程方式创建它们。

所以这是我的问题。我无法滚动我的 CCTableView 之一(我们称之为 tableA)。首先创建的 CCTableView (tableA) 不会滚动。尽管两个 CCTableView 使用相同的代码,但后来的 CCTableView (tableB) 确实滚动。现在有趣的是,如果我尝试在 tableA (这是唯一可见的节点)上滚动 tableB 滚动(即使它是不可见的)。这很奇怪,但似乎我在 tableA 上的滚动会影响 tableB,尽管 tableB 是不可见的。有谁知道为什么会发生这种情况以及我该如何解决。

0 投票
1 回答
1412 浏览

c++ - setParent addChild 似乎没有在 cocos2d-x 3.6 中刷新子位置

我想更改精灵的父节点,使用旧父节点中的 oldparent->removeChild(child),然后在子精灵中使用 child->setParent(newparent),将新父节点作为参数传递。还尝试使用 newparent->addChild(child)。

问题是孩子的位置在手术后没有改变。我希望看到子精灵将其位置更改为相对于父变换的新位置。这是预期的行为还是我需要调用一些更新方法来强制刷新子变换?