iphone - 在 cocos2D 中安排具有多个参数的事件

标签 iphone ios xcode cocos2d-iphone

我需要用各种参数在 cosos2D 中安排一个事件,我尝试在网上搜索但无法从中得到任何解决方案。我可以用

[self schedule:@selector(move:) interval:0.3];

但是我应该如何将参数传递给它:

[self schedule:@selector(move:withPoint:) interval:0.3];

访问此功能。

-(void)move:(id)object withPoint:(CGPoint)point{
}

最佳答案

您应该在实例变量中使用某种封装(数组/字典、结构等)来实现此目的。例如:

placeholderDict = [NSDictionary dictionaryWithObjectsAndKeys:
    [NSValue valueWithCGPoint:point], @"point",
    theObject, @"object",
    nil];
[self schedule:@selector(moveWithPointWrapper) interval:0.3];

- (void)moveWithPointWrapper
{
    CGPoint pt = [(NSValue *)[placeholderDict objectForKey:@"point"] CGPointValue];
    id obj = [placeholderDict objectForKey:@"object"];
    [self move:obj withPoint:pt];
}

希望这对您有所帮助。

编辑:正如@learncocos2d 指出的那样,创建单个实例变量(对象、CGPoint...)也足够了,您甚至不需要字典的开销。

关于iphone - 在 cocos2D 中安排具有多个参数的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11464226/

相关文章:

xcode - 将 4 个空格缩进转换为 2 个的简单方法

iphone - 如果稍后启动,没有 APNS 启动选项?

iphone - 帮助 iPhone 开发 - 超出范围错误

html - Safari 主屏幕用户代理字符串?

android - 设备指纹识别(Android 和 iOS)

swift - 由于滚动刷新时空 Collection View 崩溃

xcode - 如何调试来自用户 : [__NSCFNumber localizedStandardCompare:]: unrecognized selector sent to instance 的控制台消息

iphone - 限制 NSTableView 列中单元格中的文本长度

iphone - 如何在 objective-c 中的现有字符串的开头添加一个字符?

ios - 如何通过延迟 iOS 上的 block 调用来避免保留周期