Phaser — Вопрос - ответ • Flashgamedev.ru | Разработка и Монетизация Флэш игр
Развитие игровой вспышки
Текущее время: Вт авг 14, 2018 11:25 pm

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Phaser — Вопрос - ответ
СообщениеДобавлено: Вс июн 11, 2017 8:24 am 
Не в сети
Аватар пользователя

Зарегистрирован: Ср ноя 02, 2011 9:23 am
Сообщений: 383
Попробуй отдельно сделать тестовый пример только с 2мя спрайтами.


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Phaser — Вопрос - ответ
СообщениеДобавлено: Пн июн 12, 2017 10:16 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Пн янв 09, 2017 8:44 pm
Сообщений: 175
Попробуй прописать this.YourSprite.input.priorityID
https://phaser.io/examples/v2/input/input-priority

Если не поможет, хотелось бы примера на https://jsfiddle.net


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Phaser — Вопрос - ответ
СообщениеДобавлено: Чт июл 27, 2017 12:05 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср апр 24, 2013 8:13 pm
Сообщений: 436
Откуда: Ukraine
Здравствуйте друзья.
Встраиваю в игру на Phaser-e "id.net" API
JS код работает
Код:
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
</head>
<body>
<a href="#" id="idnet-login">Login</a>
<a href="#" id="idnet-register">Register</a>
<script type="text/javascript">
    window.idAsyncInit = function() {
        // use an id.net event to wait until after init
        ID.Event.subscribe('id.init', function(){
            // use jquery to call methods on clicks
            $('#idnet-login').click(function(){
                ID.login(idCallback);
            });
            $('#idnet-register').click(function(){
                ID.register(idCallback);
            });
        });
        // using an optional callback to capture data on the client
        var idCallback = function(response){
            if (response) { // That means that the server processed the response
                console.log(response);
                console.log(response.authResponse.details);
            }
        }
        // init the JS interface
        ID.init({
            appId : 'YOUR APP ID'
        });
    };
   
    // load the idnet js interface
    (function(d, s, id){
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) {return;}
        js = d.createElement(s); js.id = id;
        js.src =  document.location.protocol == 'https:' ? "https://scdn.id.net/api/sdk.js" : "http://cdn.id.net/api/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'id-jssdk'));
</script>
</body>
</html>


пробую создать на typescript
Код:
class idNet {

    private static _document: HTMLDocument;
    private static _unsafeWindow;

    private static SCRIPT_ID: string = 'id-jssdk';
    private static HTTP_API_PATH: string = 'http://cdn.id.net/api/sdk.js';
    private static HTTPS_API_PATH: string = 'https://scdn.id.net/api/sdk.js';

    private static ID_INITIALIZE_COMPLETE: string = 'id.init';

    public static Init() {
        this._document = document;

        this._unsafeWindow = this._document.defaultView;

        if (this._document.getElementById(this.SCRIPT_ID) != null) {
            console.log('Error: Double id.net initialization');
        }
        else {
            console.log('id.net not initialization');

            let idnetSDKloader = document.createElement('script');

            idnetSDKloader.id = this.SCRIPT_ID;
            idnetSDKloader.src = this._document.location.protocol == 'https:' ? this.HTTPS_API_PATH : this.HTTP_API_PATH;
            this._document.head.insertBefore(idnetSDKloader, this._document.getElementsByTagName('script')[0]);

            this._unsafeWindow.idAsyncInit = this.asyncInit;
        }
    }

    private static asyncInit(): void {
        this._unsafeWindow.ID.Event.subscribe(this.ID_INITIALIZE_COMPLETE, this.onIDInitializeComplete);

        this._unsafeWindow.ID.init({ appId: "597832a5bbddbda381b1083c" });

    }

    private static onIDInitializeComplete() {
        console.log('ID.initialize_complete');
    }

}


вылетает ошибка

Цитата:
Uncaught TypeError: Cannot read property 'ID' of undefined
at idNet.asyncInit (idNet.ts:34)
at id.js:177
at t (dom_ready.js:22)
at id.js:175
at main.js:2
at c (almond.js:301)
at almond.js:368

Что я сделал не так?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Phaser — Вопрос - ответ
СообщениеДобавлено: Чт июл 27, 2017 2:01 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Пн янв 09, 2017 8:44 pm
Сообщений: 175
BenGAMEn писал(а):
вылетает ошибка

Цитата:
Uncaught TypeError: Cannot read property 'ID' of undefined
at idNet.asyncInit (idNet.ts:34)
at id.js:177
at t (dom_ready.js:22)
at id.js:175
at main.js:2
at c (almond.js:301)
at almond.js:368

Что я сделал не так?


Cannot read property 'ID' of undefined

Нельзя прочитать свойство ID у свойства со значением undefined

this._unsafeWindow имеет значение undefined в методе asyncInit

Этот метод выполняет библиотека спонсора не в контексте твоего объекта idNet, и поэтому ссылка this не ссылка на объекта idNet в котором определенно свойство _unsafeWindow

Как решение, можно написать window.ID.Event


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Phaser — Вопрос - ответ
СообщениеДобавлено: Чт июл 27, 2017 2:16 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Пн янв 09, 2017 8:44 pm
Сообщений: 175
Чтиво про эту магию
https://habrahabr.ru/post/149516/


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: Phaser — Вопрос - ответ
СообщениеДобавлено: Сб июл 29, 2017 8:59 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср апр 24, 2013 8:13 pm
Сообщений: 436
Откуда: Ukraine
спасибо, разобрался :good:


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Phaser — Вопрос - ответ
СообщениеДобавлено: Пн июл 31, 2017 6:56 pm 
Не в сети

Зарегистрирован: Чт июл 08, 2010 11:04 am
Сообщений: 170
Medals: 1
1 place FGD3 (1)
у кого-нибудь есть плагин для работы со spine в phaser? версия от orange games работает только для 3.2 версии.


Вернуться наверх
 Профиль Отправить e-mail  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB