本机脚本中的SpriteKit视图

时间:2019-05-03 19:01:10

标签: ios typescript sprite-kit nativescript

是否可以显示带有本机脚本的屏幕 我在互联网上搜索的信息很少。 找到了代码。

const GameViewController = (UIViewController as any).extend(
{
    get willPopCb() { return this._willPopCb; },
    set willPopCb(x) { this._willPopCb = x; },
    viewDidLoad: function(){
        UIViewController.prototype.viewDidLoad.apply(this, arguments);

        this.view = SKView.alloc().initWithFrame(this.view.bounds);
        if(this.view instanceof SKView){
            const scene = BattlefieldScene.alloc().initWithSize(
                this.view.bounds.size
            );
            scene.view.backgroundColor = UIColor.alloc().initWithRedGreenBlueAlpha(0,1,0,1);

            scene.scaleMode = SKSceneScaleMode.AspectFill;

            this.view.presentScene(scene);
            this.view.showsPhysics = false;
            this.view.ignoresSiblingOrder = true;
            this.view.showsFPS = true;
            this.view.showsNodeCount = true;
        }
    },
    willMoveToParentViewController: function(parent: UIViewController|null){
        if(parent === null){
            if(this.willPopCb){
                this.willPopCb();
            }
        }
    }
},
{
    name: "GameViewController",
    protocols: [],
    exposedMethods: {}
}

);

现在,我不明白如何显示此控制器

提前谢谢

1 个答案:

答案 0 :(得分:1)

尝试

import * as utils from "tns-core-modules/utils/utils";

const gameViewController = GameViewController.alloc().init();
const app = utils.ios.getter(UIApplication, UIApplication.sharedApplication);
app.keyWindow.rootViewController.presentViewControllerAnimatedCompletion(gameViewController, true, null);