gpt4 book ai didi

objective-c - 从 iOS 中调用 ShiVa 代码

转载 作者:行者123 更新时间:2023-11-29 13:50:33 25 4
gpt4 key购买 nike

我对 ShiVa3d 还是很陌生,对 iOS 也相当陌生。

我想开发一个在 iPad 上运行的应用程序。我将在 iOS 上运行的 objective-c 中编写相当多的逻辑,并在 ShiVa 中编写一些简单的 lua 代码。

这是我想做的一个非常简单的例子:

1) 我的应用程序只有一个模型,该模型将被加载和查看。

2) 在我的 lua ShiVa 代码中,作为 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++ 缺乏更深入的了解可能也无济于事。

(此处为完整线程:http://www.stonetrip.com/developer/forum/viewtopic.php?p=29073#p29073)

关于objective-c - 从 iOS 中调用 ShiVa 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4852915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com