从iOS调用ShiVa代码
问题描述:
我对ShiVa3d还是很新的,对iOS来说还是比较新的。从iOS调用ShiVa代码
我想开发一款在iPad上运行的应用程序。我将在Objective-C中编写相当多的逻辑,这些逻辑可以在iOS上运行,并在ShiVa中运行一些简单的lua代码。
这里是想我做一个很简单的例子:
1)我的应用程序将有一个单一的模式,这将载入和查看。
2)在我的卢阿婆的代码,作为MainAI的一部分,我将创建一个接受参数,如X,Y的方法,Z让我们调用这个方法 “ShiVaCameraToPostition(物objx,objY,objZ)”
3)在我的iOS Objective-C代码中,我想称之为“ShiVaCameraToPostition”方法,参数为
这可能吗?
我该怎么做呢?我应该在文档中寻找什么?有没有人可以指出的例子?
非常感谢提前。如果上述内容不明确,请让我知道。
答
好吧,各种成功。请不要在最佳实践中击败我,我只是想让这一切顺利。
所以,我创建了一个类来完成我的肮脏工作,我们称之为ShivaInterface。
ShivaInterface.h
ShivaInterface.mm /*** note the .mm ***/
标题如下:
#import <Foundation/Foundation.h>
@interface ShivaInterface : NSObject{
}
+(const void*)getMyParams:(NSNumber*)x andY:(NSNumber*)y;
@end
而且为实现:
#import "ShivaInterface.h"
#import "S3DXPlugin.h" //is this the correct thing to include? it worked for me
@implementation ShivaInterface
+(const void*)getMyParams:(NSNumber*)x andY:(NSNumber*)y{
static S3DX::AIVariable args[2];
args[0].SetNumberValue([x floatValue]);
args[1].SetNumberValue([y floatValue]);
return args;
}
@end
然后在我的纯OBJ - C的方法:
const void *params = [ShivaInterface getMyParams:[NSNumber numberWithFloat:100.0f] andY:[NSNumber numberWithFloat:100.0f]];
S3DClient_SendEventToCurrentUser("MainAi","onDoRotate",2,params);
这样的作品,我意识到这不是美丽的,我缺乏广告更熟悉C/C++可能无济于事。
(Full thread here:http://www.stonetrip.com/developer/forum/viewtopic.php?p=29073#p29073)
答
你不能叫湿婆方法这似乎必须使用调用处理程序:
S3DClient_SendEventToCurrentUser("MainAI","onMyHandler",0);
的第三和第四参数是一个数组的论点和论据号码(需分别研究一下)。
湿婆死了。他们做虚假v2.0销售(以折扣价),但直到2年后,他们仍然没有发布v2.0 – dns 2013-12-25 07:44:20