微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Phaser 指针事件在 WebView (Xamarin Forms) C# 中不起作用

如何解决Phaser 指针事件在 WebView (Xamarin Forms) C# 中不起作用

我使用移相器及其完美渲染调用所有指针事件(例如按钮btn上的指针悬停、指针输出、指针向上和指针向下)创建了一个简单的动画屏幕正如浏览器所预期的那样。但是,当我使用 WebView 的渲染屏幕渲染相同的游戏但它不调用任何指针事件。为了确认 JavaScript 正常工作,我通过在 eventlistner添加 window 进行了测试,并且它工作正常。

    var config = {
        type: Phaser.CANVAS,width: 650,height: 900,canvas: document.getElementById('myCustomCanvas'),scale: {
            mode: Phaser.Scale.FIT,width: 750,height: 1334,parent: 'game'
          },physics: {
            default: 'arcade',arcade: {
                gravity: { y: 0 }
            }
        },scene : {
        preload: function(){game.preload(this,'asset_url');},create: function(){game.create(this);},update: function(){game.update(this);},}
    };
    


function game(config) {

     this.start = function(config)
     {
       this.phaserGame = new Phaser.Game(config);
     };

    this.create = function()
    {
      var btn = this.scene.add.sprite(375,665,'btn');
      btn.setInteractive()
        .on('pointerover',() => {
            console.log('pointerover');
        })
        .on('pointerout',() => {
            console.log('pointerout');
        })
        .on('pointerdown',() => {
            console.log('pointerdown');
        })
        .on('pointerup',() => {
            console.log('pointerup');
        });
    };
}

我正在使用 Xamarin Forms WebView 在移动设备中呈现游戏。我对 WebView 的设置如下。

var webView = CreateNativeControl();
            webView.SetWebViewClient(new HTMLGameWebClient(this));
            webView.Settings.LightTouchEnabled = true;
            webView.Settings.JavaScriptEnabled = true;
            webView.Settings.DomStorageEnabled = true;
            webView.Settings.mediaplaybackRequiresUserGesture = false;

            SetNativeControl(webView);

我也有条件 CSS,仅当画布在移动设备中呈现时使用。

canvas {
    width: 100vw !important;
    height: unset;
}

预先感谢您的任何帮助或建议。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。