简体   繁体   English

如何在cocos2d-iphone jsbindings中将值传递给js?

[英]How to pass values to js in cocos2d-iphone jsbindings?

I'm cooking a cocos2d-iphone(v2.1) project with jsbindings. 我正在用jsbindings烹饪一个cocos2d-iphone(v2.1)项目。 The cocos2d view running main.js in my UIKit view works properly. 在我的UIKit视图中运行main.js的cocos2d视图正常工作。 Now I want to add a new feature to show different animation by user input. 现在,我想添加一个新功能,以通过用户输入显示不同的动画。

I want to know how to pass values to the js file in objective-c. 我想知道如何将值传递给Objective-C中的js文件。

Thanks in advanced. 提前致谢。

I think I found a solution. 我想我找到了解决方案。

In jsb_core.h , there is a method called: -(BOOL) evalString:(NSString*)string outVal:(jsval*)outVal; jsb_core.h ,有一个方法叫做-(BOOL) evalString:(NSString*)string outVal:(jsval*)outVal; . With this method, I can call functions in my main.js from my objective-c code. 通过这种方法,我可以从我的Objective-C代码中调用main.js函数。

So I defined a function in my main.js file: 所以我在main.js文件中定义了一个函数:

function test(values) {
  cc.log(values);
}

Then I can call it from my objective-c code like this: 然后可以从我的Objective-C代码中调用它,如下所示:

CCDirectorIOS *director = (CCDirectorIOS *)[CCDirector sharedDirector];
if(director.runningScene) {
  [[JSBCore sharedInstance] evalString:@"test('ValueToPass');" outVal:nil];
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM