0
我试图建立的东西,每个键盘输入只会触发一次命令(而不是像QC本身每帧)。为了做到这一点,我试图在键盘输入(通过Freeboard)上聆听,并比较当前输入和以前的版本。Quartz Composer Objective C比较以前与当前输入
似乎在发生的是以前的版本在每次修补程序执行时都会被擦除,所以我比较字符串的条件每次都会失败。下面是一些代码,使其更清楚一点:
- (BOOL)execute:(id <QCPlugInContext>)context atTime:(NSTimeInterval)time withArguments:(NSDictionary *)arguments
{
self.outputPrevious=previousCharacter;
if ([self.inputCharacter caseInsensitiveCompare:previousCharacter]){
[email protected]"SAME";
}
else {
[email protected]"CHANGE";
}
previousCharacter = [NSString stringWithString:self.inputCharacter];
[previousCharacter retain];
return YES;
}
其中self.outputText是告诉我,如果self.outputPrevious告诉我什么以前的字符输入是,和self.inputCharacter结果的文本是当前键盘输入。
previousCharacter在头文件中定义并在-init
中实例化,因此不应每次都重置。
我已经尝试了几乎所有这一切,所以如果你有任何想法或见解,那就太棒了。谢谢!