Egret社区
25银子
本帖最后由 张潮水 于 2019-6-10 17:27 编辑

最近制作的一款小游戏,在跳转到游戏过渡场景,使用iPhone X在textinput中输入文字后,当textinput失去焦点会造成整个游戏卡死,请问这是什么原因,后来我尝试使用原生的input标签也同样会造成卡死,下面的代码是我使用原生input的代码,已经搞了好多天了,一直是这个问题。希望大佬们能帮忙看下是什么问题,下面是我用原生写的 QQ图片20190610171650.png

[mw_shl_code=actionscript3,true]//正式游戏的按钮事件
                this.game_begin.touchEnabled = true;
                this.game_begin.addEventListener(egret.TouchEvent.TOUCH_TAP,this.gameStart,this);
//正式开始游戏按钮的响应函数
        private noSpase:any;
        private gameStart(){
                var user_input = <HTMLInputElement>document.querySelector('#iphone_input');
                this.noSpase = /^\s+|\s+$/;
                if(this.isiOS){
                        if((user_input.value == '点此输入称呼')||(user_input.value == null)||(user_input.value == '')){
                                this.back_input_group.visible = true;
                                user_input.style.zIndex = '-1';
                                this.back_input_btn.addEventListener(egret.TouchEvent.TOUCH_TAP,this.noShow,this);
                                var scene_bg = document.getElementById('can_copy');
                                scene_bg.style.backgroundImage = "url('./resource/assets/manBlood_Image/mask_bg.png')";
                        }else {
                                if(noSpase.test(user_input.value) === false){
                                        let scenegame = new SceneGame();
                                        scenegame.use_name = user_input.value;
                                        user_input.style.display = 'none';
                                        user_input.style.animationPlayState = 'paused';                                       
                                        this.parent.addChild(scenegame);
                                        this.parent.removeChild(this);
                                }else if(noSpase.test(user_input.value) === true){
                                        this.txt_name.text = '';               
                                        alert('名称不能包含空格!');        
                                        return
                                }
                        }                        
                }else if(this.isAndroid){
                        if((this.txt_name.text == '')||(this.txt_name.text == null)){
                                this.back_input_group.visible = true;
                                this.back_input_btn.addEventListener(egret.TouchEvent.TOUCH_TAP,this.noShow,this);
                                var scene_bg = document.getElementById('can_copy');
                                scene_bg.style.backgroundImage = "url('./resource/assets/manBlood_Image/mask_bg.png')";
                        }else {
                                if(noSpase.test(this.txt_name.text) === false){
                                        let scenegame = new SceneGame();
                                        scenegame.use_name = this.txt_name.text;
                                        this.parent.addChild(scenegame);
                                        this.parent.removeChild(this);
                                }else if(noSpase.test(this.txt_name.text) === true){
                                        this.txt_name.text = '';               
                                        alert('名称不能包含空格!');        
                                        return
                                }
                        }
                }
        } [/mw_shl_code]

最佳答案

查看完整内容

ios12输入框点击完成的时候egret并没有恢复焦点,导致并没有执行egret.ticker.resume();把egret.ticker.pause();注释勉强解决吧
分享到 :
0 人收藏

2 个回复

倒序浏览
小灰灰啊  登堂入室 | 2019-6-10 17:22:37
本帖最后由 小灰灰啊 于 2019-6-10 19:18 编辑

ios12输入框点击完成的时候egret并没有恢复焦点,导致并没有执行egret.ticker.resume();把egret.ticker.pause();注释勉强解决吧
张潮水  登堂入室 | 2019-6-10 19:21:36
小灰灰啊 发表于 2019-6-10 19:17
ios12输入框点击完成的时候egret并没有恢复焦点,导致并没有执行egret.ticker.resume();把egret.ticker.pau ...

额,我用另一种方法搞定了,用的原生,用户输入完后,点击开始游戏,让input自动获取焦点然后立马取消焦点就能去到下一个场景了,你说的这个我可以去试试,感谢啦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部