问题标签 [ccmenuitem]
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.
iphone - 使用 CCMenuAdvanced - Cocos2d
我正在尝试为我的游戏制作各种物品滚动条。我决定使用扩展名CCMenuAdvanced
,并且能够使用工作按钮实现一个工作菜单列表。但是,我不太明白如何正确地将我的菜单包含在边界矩形中。我很清楚,boundaryRect 不会使菜单列表的“越界”部分消失——它似乎只负责滚动。那么问题是我还需要做什么来获得一个独立的项目列表CCMenuAdvanced
,当不再处于边界时,它会变得不可见且无响应?我是否必须安排一个额外的更新方法来跟踪单个元素的位置并更改它们的不透明度和可见性,或者是否有支持的解决方案?
谢谢
menu - 何时使用 CCScene 与 CCLayer?
我是一个 UI 爱好者——我游戏中的每个“屏幕”都应该在它出现或消失时转换进/出。因为我的游戏在资源方面很简单,所以我想我只需让每个“屏幕”成为 CCLayer 并为转换定义一个函数,将所有内容留在内存中。结果比我预想的要复杂。
我想我现在有两个主要问题:
1)每个“屏幕”都是一个CCLayer。这看起来不错,但我似乎无法停止接收触摸事件,即使它们处于非活动状态。子精灵似乎不尊重 isTouchEnabled 属性,所以我一直在点击不可见的按钮。
2)我写了一个自定义按钮类,它基本上是一个带有一些单独的状态纹理的精灵。它使用 CCTargetedTouchDelegate 协议。我认为这是上述问题的很大一部分。
我不太清楚 CCMenu 的东西。是否有教程或文档可以更好地解释其设计目的以及如何使用它?cocos2d 的文档根本没有讨论每个类的作用,这使得正确使用该库变得更加困难。另外,我什么时候应该使用场景而不是图层?我可以编写自定义过渡吗?
ios - 在 CCMenu 中缩放 CCMenuItemSprite 项目
我在使用带有缩放的 CCMenuItemSprite 菜单项的 CCMenu 时遇到问题。我正在尝试根据正在玩游戏的设备来不同地缩放菜单项精灵(iPad 需要将其缩放到大约 1.5 倍,而在 iPhone 上大约是 0.75 倍)
根据我的阅读,我们不能直接缩放 CCSprite 或 CCMenuItemSprite,因为当它被添加到 CCMenu 时,触摸矩形没有正确更新。我相信我必须缩放 CCMenu 来缩放菜单项。
每当我这样做时,我的精灵似乎被缩放到正确的大小,但它似乎也缩放了 CCMenu 位置坐标,但与我期望的方向相反。此外,一旦我超过某个阈值,菜单似乎就会完全消失。
有人对我应该如何在 CCMenu 中缩放 Sprites 有任何建议吗?
提前致谢。巴兹里克
cocos2d-iphone - 将 CCLayer 添加到 CCMenu
如何将 CCLayer 子类添加到 CCMenu?我有一个类似于开关控件的 CCLayer 子类,我想将其包含在 CCMenu 中。
cocos2d-iphone - cocos2d-Menu 的标签显示在图层上,但对触摸没有反应
我不知道出了什么问题,也许是因为我使用了更多层?
我认为我的另一层(滑动菜单网格子类正在窃取触摸...) // // BGLayer.m // MainProject // // 由 NSSL1 于 2012 年 8 月 30 日创建。// 版权所有 (c) 2012 MyCompanyName。版权所有。//
ios - CCMenuItem 背景颜色
我正在使用Cocosbutton类来创建一个添加到场景中的按钮。这将创建一个 CCSprite,它被添加到 CCMenu 内的 CCMenuItem 中:
在init方法中,添加了背景:
添加最后一行以将精灵添加到 CCMenuItem 后,我会得到黑色背景(见屏幕截图)。CCSprite 背景图像的来源是具有透明度的 8 位 .png,我无法弄清楚为什么我会看到这个黑色背景。
ios - 制作按钮图片专属的按钮点击?
我有一个奇怪的,恼人的问题。
例如,在我的主菜单屏幕中,我有一个显示“说明”的按钮。
单击该按钮后,在说明层中,有一个按钮可将您带回主菜单。
然而,由于某种原因,按钮动作并不是精灵图像独有的。如果我在距离“backtomenu”按钮 3 英寸处单击,它仍然会带我回到主菜单。
所以,我的问题是,我怎样才能让一个按钮只有在你点击实际图像时才会被点击?(这就是我创建按钮的方式)
ios - Cocos2d:在CCMenuItem的selected方法中调用选择器
当调用 CCMenuItemSprite 的“selected”方法时,我想调用目标选择器(见下文:buttonPressedWithId :)。
我查看了 CCMenuItemSprite 的实现,发现了这个:
目标是在 selected 方法中调用目标选择器。所以我查看了initWithNormalSprite方法,发现:
我想我必须以某种方式调用_块函数,但我没有看到一个很好的例子来理解如何。我也不太清楚 * _block* 是什么:(。
现在,我应该继承 CCMenuItemSprite 并更改此行为吗?如果是这样,我该如何调用目标选择器?
提前致谢 :)
event-handling - cocos2d中如何停止一个模态层下的所有CCTouch?
在我的 cocos2d 游戏中,我有一个“设置”按钮,它启动一个模态层,旨在锁定它下面的所有内容。为此,我使用了锁定所有 CCMenuItems 的菜单状态方法和覆盖层的组合;两者都在代码下方。
问题是这两种解决方案似乎都不适用于 CCScrollLayers。当我单击按钮(启动模式)时,CCScrollLayer 仍然可以滚动,这不是我想要的。
我想:
- 按下按钮禁用所有触摸并禁用所有元素,包括 CCScrollLayers
- 启动模态(仅允许触摸模态)
我试过了:
- 使用 Touch 吞下所有触摸
CCTargetedTouchDelegate
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
- 我试过了
self.isTouchEnabled = NO
在启动模式的层上
- 我已经尝试调整该
MenuStatus
方法以使其适用于 CCScrollLayers,但它似乎不起作用。
我不确定我做错了什么。我的代码现在如下。
cocos2d-iphone - 我可以将带有 CCMenuItemSprite 的 CCMenu 添加到 spritebatchnode 吗?
我可以将带有 CCMenuItemSprite 的 CCMenu 添加到 spritebatchnode 吗?
就如此容易。
代码片段: