Jump to content
Korean Random
SV_Kirov

Как создать форму(Окно) в ангаре

Recommended Posts

А почему ошибка?

ERROR: [ERROR] (scripts/client/gui/Scaleform/framework/managers/loaders.py, 133): View 'TestWindow' does not implement net.wg.infrastructure.interfaces.IView

Share this post


Link to post

Short link
Share on other sites

А почему ошибка?

ERROR: [ERROR] (scripts/client/gui/Scaleform/framework/managers/loaders.py, 133): View 'TestWindow' does not implement net.wg.infrastructure.interfaces.IView

 

Через PjOrion все нормально работает.

P.S. Форум пора серьезно обновить.

Edited by ShadowHunterRUS

Share this post


Link to post

Short link
Share on other sites

Через PjOrion все нормально работает.

На всякий случай attachicon.gifTestWindow.swf

И как теперь в нем писать свой текст и добавить 2 и более кнопок?

Share this post


Link to post

Short link
Share on other sites

а как настройку текста, кнопок, названия окна вывести в отдельный файл

mod_TestWindow.py изменим

def __init__(self):
    super(TestWindow, self).__init__()
    self.__config_section = ResMgr.openSection('../configs/config.xml')
и добавим метод

def py_getCustomConfig(self):
    return {
        'title': self.__config_section.readString('title'),
        'width': self.__config_section.readInt('width'),
        'height': self.__config_section.readInt('height')
    }
В TestWindow.as добавим

public var py_getCustomConfig : Function;
И изменим:

override protected function onPopulate() : void
{
    super.onPopulate();
    var _config : Object = py_getCustomConfig();
    width = _config.width;
    height = _config.height;
    window.title = _config.title;
}
Теперь проверим как это работает:

Создадим в папке res_mods/configs файл config.xml (кодировка UTF-8 (без BOM))

Содержимое файла:

<root>
    <title>Test Window</title>
    <width>600</width>
    <height>400</height>
</root>
Edited by ShadowHunterRUS
  • Upvote 5

Share this post


Link to post

Short link
Share on other sites

Гайды о чем?

Например, мне вот не понятно стало как вызывать питоновские функции из формы с передачей параметров? И наоборот, как вызывать AS-функции из питона? И как в эти функции передавать параметры?

 

Как вызывать такие окошки в бою?

Edited by IzeBerg

Share this post


Link to post

Short link
Share on other sites

Например, мне вот не понятно стало как вызывать питоновские функции из формы с передачей параметров? И наоборот, как вызывать AS-функции из питона? И как в эти функции передавать параметры?

 

Как вызывать такие окошки в бою?

Окошки в бою скорей всего вызывать нельзя, только текстовые сообщения.

Share this post


Link to post

Short link
Share on other sites

Окошки в бою скорей всего вызывать нельзя, только текстовые сообщения.

Еще как можно. Есть же мод, который в конце реплея показывает результат боя.

Share this post


Link to post

Short link
Share on other sites

Например, мне вот не понятно стало как вызывать питоновские функции из формы с передачей параметров?

Добавляем к классу TestWindow в файле TestWindow.py метод testFunc:

def testFunc(self, param1, param2, param3):
   print 'param1={};param2={};param3={};'.format(param1, param2, param3)
В TestWindow.as добавим:

public var testFunc:Function = null;
Теперь в каком-нибудь месте флеш-программы выполним:

this.testFunc("ololo", "alalla", true);
И в PjOrion'е увидим следующее:

param1=ololo;param2=alalla;param3=True;
Edited by ShadowHunterRUS
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Еще как можно. Есть же мод, который в конце реплея показывает результат боя.

Не расскажите подобрее?

Share this post


Link to post

Short link
Share on other sites

а можно еще чекбоксы сделать?

Добавим к импорту:

import net.wg.gui.components.controls.CheckBox;
Добавим к переменным:

private var testCheckBox:CheckBox;
Добавим к onPopulate():

testCheckBox = addChild(App.utils.classFactory.getComponent("CheckBox", CheckBox, {
    x: 10,
    y: 10,
    label: "Test checkBox"
})) as CheckBox;
post-16296-0-96524700-1435756481_thumb.jpg

Может пригодится...

post-16296-0-39867600-1435756567_thumb.jpg

post-16296-0-56262200-1435928291_thumb.jpg

Edited by ShadowHunterRUS
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

круто, а можно все это в одном посте, путаюсь :)

или тему создайте 

Share this post


Link to post

Short link
Share on other sites

или тему создайте

Я борюсь с глюками KoreanRandom'а, печатая вам сообщение. На еще одну тему терпения у меня не хватит!

Не расскажите подобрее?

http://www.youtube.com/watch?v=f4mPGU6jcII&feature=player_detailpage&list=PL-xJsR8lBCvhw1JU1TD1AxEuEweag7krc#t=704

Пример работы данного мода. Смотри c 11:11

Окно в бою. Там идет привязка к какому-либо flash-элементу. Например к миникарте. Далее идут костыли.

Т.к. бой написан на AS2 , то без костылей написать окно в бою невозможно.

Тактический планшет, к примеру, был написан внутри swf-файла курсора.

Edited by ShadowHunterRUS

Share this post


Link to post

Short link
Share on other sites

 

 

Далее идут костыли.

 

Другими словами пишем самопальное окно и туды инфу распихиваем, судя по тому что  видел на видео.

Share this post


Link to post

Short link
Share on other sites

И наоборот, как вызывать AS-функции из питона? И как в эти функции передавать параметры?

Добавляем к классу TestWindow в файле TestWindow.py метод

def py_log(self, msg):
    print msg
В классе TestWindow в mod_TestWindow.py изменим

def _populate(self):
    super(TestWindow, self)._populate()
    self.flashObject.as_setText('Hello')
В TestWindow.as добавим:

public var py_log : Function;

public function as_setText(param : String):void
{
    py_log(param);
}
В PjOrion'е увидим - Hello Edited by ShadowHunterRUS

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...