Элементы интерфейса в гм-приложениях
|
|
NeZnayu | Дата: Воскресенье, 13 Марта 2011, 16:03 | Сообщение # 21 |
__танцуй!__
Сейчас нет на сайте
| BornInUSSR, ага, при этом переменным file_new, file_open и file_save новые id присваиваются правильно (проверил через дебаг)
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
BornInUSSR | Дата: Воскресенье, 13 Марта 2011, 16:05 | Сообщение # 22 |
почетный гость
Сейчас нет на сайте
| Quote (NeZnayu) Так, кажется понял. В create у пункта меню стоит свитч по id. Когда ты создаешь событие через variable=instance_create() сначала выполняется create объекта, и только потом переменной variable присваивается id нового объекта. Не заметил сообщения. Сейчас посмотрим.Добавлено (13.03.2011, 16:05) ---------------------------------------------
Quote (BornInUSSR) сначала выполняется create объекта, и только потом переменной variable присваивается id нового объекта. А почему в первый раз когда создается обьект не ругается на ошибку? По сути же ничего не меняется.
|
|
| |
|
BornInUSSR | Дата: Воскресенье, 13 Марта 2011, 16:18 | Сообщение # 24 |
почетный гость
Сейчас нет на сайте
| Возможно это из-за родительских обьектов?!? Я уже наугад гадаю. Сейчас допью кофе и на гуще начну гадать...
|
|
| |
NeZnayu | Дата: Воскресенье, 13 Марта 2011, 16:23 | Сообщение # 25 |
__танцуй!__
Сейчас нет на сайте
| BornInUSSR, пока на ум приходит только решение проблемы - причина все еще точно не ясна. Можно вынести твой свитч, назначающий тип имя картинку пункта меню в отдельный скрипт, при клике в главном меню сначала создавать объект пункта меню, потом запускать скрипт, который будет возвращать необходимые данные и уж их назначать объектам.
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
Сообщение отредактировал NeZnayu - Воскресенье, 13 Марта 2011, 16:24 |
|
| |
BornInUSSR | Дата: Воскресенье, 13 Марта 2011, 17:15 | Сообщение # 26 |
почетный гость
Сейчас нет на сайте
| Сейчас попробую, чем черт не шутит. Добавлено (13.03.2011, 17:15) --------------------------------------------- Ничерта у меня не вышло. Немного потыкал наугад и пришел к выводу что скорее всего что-то не в порядке с конструкцией свич.
|
|
| |
NeZnayu | Дата: Воскресенье, 13 Марта 2011, 17:23 | Сообщение # 27 |
__танцуй!__
Сейчас нет на сайте
| Постараюсь сегодня выложить исправленный вариант.
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
BornInUSSR | Дата: Воскресенье, 13 Марта 2011, 18:50 | Сообщение # 28 |
почетный гость
Сейчас нет на сайте
| Практически исправил. Единственная загвоздка теперь это wstring которая никак не хочет принимать значения. Но все равно покопайся, хотелось бы знать на будущее чего нужно избегать. Добавлено (13.03.2011, 18:42) --------------------------------------------- Есть какой то способ обозначить любой другой инстанс кроме текущего, для одного и того же обьекта? Например у меня есть 5 экземпляров обьекта. Мне нужна проверка на конкретное событие, скажем ev_mouse_enter, происходящее в любом другом экземпляре. Добавлено (13.03.2011, 18:50) --------------------------------------------- Вопрос снят.
|
|
| |
NeZnayu | Дата: Воскресенье, 13 Марта 2011, 19:41 | Сообщение # 29 |
__танцуй!__
Сейчас нет на сайте
| Quote (BornInUSSR) wstring Кстати, чтобы небыло ошибок (т.к. значни должно быть строкой), лучше делать проверку: if string(wstring)="New" и т.д. Если вдруг wstring станет числом (ну мало ли) ГМ выдаст ошибку: "cannot compare arguments"
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
BornInUSSR | Дата: Воскресенье, 13 Марта 2011, 19:58 | Сообщение # 30 |
почетный гость
Сейчас нет на сайте
| Да, было дело, вылетала такая ошибка. Вообще я уже начал задумываться над стандартными функциями. Но у show_menu есть один серьезный недостаток, его нельзя спрятать по требованию... Хотя мне тут пришла одна идея... Может просто нужно симулировать нажатие мыши в какой нибудь точке без обьектов чтобы сбросить меню... Нужно попробовать, но все равно на таком меню нельзя рисовать, что тоже очень плохо.
|
|
| |
NeZnayu | Дата: Воскресенье, 13 Марта 2011, 20:09 | Сообщение # 31 |
__танцуй!__
Сейчас нет на сайте
| Quote (BornInUSSR) Но у show_menu есть один серьезный недостаток, его нельзя спрятать по требованию... В смысле?
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
BornInUSSR | Дата: Воскресенье, 13 Марта 2011, 20:14 | Сообщение # 32 |
почетный гость
Сейчас нет на сайте
| В смысле пока ты не нажмешь какую нибудь клавишу мыши меню будет висеть на экране. А мне допустим нужно чтобы оно исчезало когда мышь находится над другим обьектом. Вот такая штука. Хотя все таки эту проблему можно решить всякими уловками, а вот рисование иконок рядом с пунктами меню уже никак не поправишь.
|
|
| |
NeZnayu | Дата: Воскресенье, 13 Марта 2011, 20:17 | Сообщение # 33 |
__танцуй!__
Сейчас нет на сайте
| Quote (BornInUSSR) В смысле пока ты не нажмешь какую нибудь клавишу мыши меню будет висеть на экране. А мне допустим нужно чтобы оно исчезало когда мышь находится над другим обьектом Не пробовал: screen_redraw(); screen_refresh(); ? Я точно не помню помогает это или нет. Quote (BornInUSSR) а вот рисование иконок рядом с пунктами меню уже никак не поправишь. Да, тут уже надо "крутиться" :)
CombatForce - 2d TDS долгожданный релиз Noobster - самый простой конструктор игр в мире LaLaLaLAMA! - игра не про Ламу
|
|
| |
BornInUSSR | Дата: Воскресенье, 13 Марта 2011, 20:23 | Сообщение # 34 |
почетный гость
Сейчас нет на сайте
| Quote (NeZnayu) Не пробовал: screen_redraw(); screen_refresh(); ? Я точно не помню помогает это или нет. Там используются нативные виндоус элементы а не функции рисования. Не помогает ни рефреш ни редрав.
|
|
| |