User Tag List

Страница 34 из 47 ПерваяПервая ... 303132333435363738 ... ПоследняяПоследняя
Показано с 331 по 340 из 470

Тема: Помощь по редактору Dizzy-AGE

  1. #331

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Daisy Посмотреть сообщение
    Между прочим очень интересно. Я раньше мельком как-то смотрела, а теперь читаю каждую строчку.
    У меня сейчас вот какая проблема: нужно чтоб предмет стал видимым и не вещью, а блоком. Как в диззи2, когда ставишь сундук. У меня предмет видим изначально - не хочет скрываться( Что не правильно?
    Данные предмета:
    Тип - статик
    материал - блок
    драв - имг+мат
    дисайбл - да
    Пришли игру в личку.

    ---------- Post added at 23:04 ---------- Previous post was at 23:02 ----------

    Но вообще, disable действует только на динамические кисти, а не на статические. Статические надо скрывать через свойство draw = 0.

  2. #331
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #332

    Регистрация
    11.12.2007
    Адрес
    Россия, Москва
    Сообщений
    559
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Пришли игру в личку.
    Потом не интересно будет) Давайте оставим это как запасной вариант. Если уж не разберемся - тогда скину.

    Цитата Сообщение от Titus Посмотреть сообщение
    Но вообще, disable действует только на динамические кисти, а не на статические. Статические надо скрывать через свойство draw = 0.
    Ага. Пропал. Только теперь я видать что-то напутала в скрипте:
    func UseObject_1008( idx )
    {
    if(ObjGet(idx,O_ID)==3013)
    {
    Message1(5,4, "ВЫ...");
    MessagePop();

    InventorySub(idx);

    idx = ObjFind(1008);
    ObjSet(idx,O_CLASS,0);

    idx = ObjFind(2009);
    ObjSet(idx,O_DISABLE,0);
    }
    else
    {
    DropObject(idx);
    }
    }
    Не слышали говорящих попугаев? Тыкайте сюда!

  4. #333

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Daisy Посмотреть сообщение
    Пропал. Только теперь я видать что-то напутала в скрипте
    Может и напутала) Из сего скрипта не понятно, что ты хотела получить, а что получила)
    Лучше пришли, заодно может посоветую, если замечу какие огрехи, которые легче исправить сейчас, чем когда игра будет дописана.

  5. #334

    Регистрация
    12.04.2010
    Адрес
    Шмелёво
    Сообщений
    2,263
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    рисуешь сундук-блок с draw=0 делаешь место применения предмета. пишешь скрипт, что бы при приминении сундука-предмета предмет пропадал, а сундук-блок делаешь draw=3

    ---------- Post added at 23:19 ---------- Previous post was at 23:16 ----------

    idx = BrushFind(2009); // если это сундук-блок
    BrushSet(idx,B_DRAW,3);

  6. #335

    Регистрация
    11.12.2007
    Адрес
    Россия, Москва
    Сообщений
    559
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Уговорили) Скинула

    ---------- Post added at 23:25 ---------- Previous post was at 23:22 ----------

    osa, сундук - 3013

    ---------- Post added at 23:26 ---------- Previous post was at 23:25 ----------

    Да, еще такой вопросик: за что отвечает №23 (в данных предмета) colider?
    Не слышали говорящих попугаев? Тыкайте сюда!

  7. #336

    Регистрация
    12.04.2010
    Адрес
    Шмелёво
    Сообщений
    2,263
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    нужен сундук-предмет и сундук блок или на сундуке предмете сделать свойство hard collision

    ---------- Post added at 23:29 ---------- Previous post was at 23:27 ----------

    и вот оно свойство colision

  8. #337

    Регистрация
    11.12.2007
    Адрес
    Россия, Москва
    Сообщений
    559
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от osa Посмотреть сообщение
    и вот оно свойство colision
    Это я вижу Я не понимаю, что оно делает. Например, в видеопримере используют это свой-во для летучей мыши. Причем с ним она убивает, без него - ноль.
    Не слышали говорящих попугаев? Тыкайте сюда!

  9. #338

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Daisy, посмотрел твой скрипт про мост.
    Во-первых, ты применяешь функцию ObjFind и к статическим, и к динамическим кистям, хотя эта функция ТОЛЬКО для динамических кистей, а для статических свои функции и свои названия свойств, хотя и похожие. Мост у тебя статическиой кистью нарисован. Для статических эта функция называется BrushFind(id).
    Попробуй исправить) Сегодня же в главе описано новой было на русском.

    ---------- Post added at 00:30 ---------- Previous post was at 00:03 ----------

    Цитата Сообщение от Daisy Посмотреть сообщение
    Да, еще такой вопросик: за что отвечает №23 (в данных предмета) colider?
    Это свойство описано в главе про игрока. Пока только на английском)

    HandlerCollision()
    This is the collision handler that is called by the engine when the player collides with a dynamic brush that has the O_COLLIDER property set to call handler. It can detect if this is the first time when the collision happened, if the collision is still going on, or if it has just ended. By default, it also deals with hurt or kill class objects.

    CollideObject_ID_MODE()
    This latent callback is requested from the collision handler, when the player collides with a collider object (set to call handler), that has the same brush id, as specified in the callback's name (ID). If the MODE number, from the callback's name, is 0, then the callback is called when the player and the object exit from collision. If MODE is 2, the callback is called during the collsion, and if it's 1, the callback is called when the player enters in collsion with the object for the first time.
    HandlerCollision()
    Этот хендлер обработки столкновений вызывается движком, когда игрок соприкасается с динамической кистью, у которой в свойстве O_COLLIDER установлено call handler. Он способен определять только ли началось соприкосновение, идет ли оно, или только что закончилось. Так же этот хендлер используется при обработки столкновений с объектами, у которых установлен класс hurt или kill.

    CollideObject_ID_MODE()
    Этот фоновой колбек вызывается из хендлера столкновений (collision handler), когда игрок соприкасается с объектом, id-номер которого прописан в поле ID имени функции. Если поле MODE в имени функции равно 0, то, колбек вызывается, когда игрок и объект прекращают соприкасаться. Если это поле равно 2, то колбек вызывается всегда, когда имеется в наличие соприкосновение. И, наконец, если поле MODE равно 1, то колбек вызывается в момент первого соприкосновения с объектом.


    The second kind of dynamic collision, is with objects that have the collider property set to hard collision. This is usual to platforms, elevators, bridges or other similar things that must move.

    The collision is not too precise, but it will try to rise the player on top of these objects. No handlers are called, it's all part of the player's movement system.
    Второй тип реакции на соприкосновение с объектом - это соприкосновение с твердым объектом. Для этого у объекта должно быть установлено свойство collider = hard collision (твердое соприкосновение). Обычно это используется в платформах, лифтах, мостах и тому подобных перемещающихся объектах.

    Данный тип соприкосновения не очень точный, но но зато позволяет автоматически поднимать игрока на вершину объекта. Никаих хендлеров при этом не вызывается, эта функциональность заложена в движок.


    ---------- Post added at 00:32 ---------- Previous post was at 00:30 ----------

    И еще, ты легкомысленно относишься к маске спрайтов. Нужно ее использовать, чтобы было красиво)

  10. #339

    Регистрация
    11.12.2007
    Адрес
    Россия, Москва
    Сообщений
    559
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Daisy, посмотрел твой скрипт про мост.
    Во-первых, ты применяешь функцию ObjFind и к статическим, и к динамическим кистям, хотя эта функция ТОЛЬКО для динамических кистей, а для статических свои функции и свои названия свойств, хотя и похожие. Мост у тебя статическиой кистью нарисован. Для статических эта функция называется BrushFind(id).
    Попробуй исправить) Сегодня же в главе описано новой было на русском
    Заменила
    idx = ObjFind(2009);
    ObjSet(idx,O_DISABLE,0)
    на
    idx = BrushFind(2009);
    BrushSet(idx,B_DRAW,3);
    Мост появляется, но он воздушный(
    Я только вчера прочитала про активные объекты. Немножко не понятно вот это: что такое ObjGet( idx, property ) и ObjSet( idx, property, value ). Там написано, а я не понимаю. Врое не блондинка
    Цитата Сообщение от Titus Посмотреть сообщение
    И еще, ты легкомысленно относишься к маске спрайтов. Нужно ее использовать, чтобы было красиво)
    Я еще ничего больше не рисовала после того, как усышала про маски. Только у меня все-равно их нет.
    Не слышали говорящих попугаев? Тыкайте сюда!

  11. #340

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,383
    Спасибо Благодарностей отдано 
    1,699
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Daisy Посмотреть сообщение
    Заменила
    idx = ObjFind(2009);
    ObjSet(idx,O_DISABLE,0)
    на
    idx = BrushFind(2009);
    BrushSet(idx,B_DRAW,3);
    Мост появляется, но он воздушный
    Это потому, что:
    После изменения свойств одной или нескольких статических кистей, вносящих изменения в карту материалов, необходимо обязательно вызвать функцию обновления карты материалов. Если этого не сделать, карта материалов данного экрана останется прежней, пока вы не войдете заново в данную комнату.
    Опять же все это написано в той главе, надо внимательно читать. И в примерах показано.
    Поэтому просто добавь после изменений строчку
    GameCommand(CMD_REFRESH);
    и все будет в шоколаде.

    ---------- Post added at 10:17 ---------- Previous post was at 10:11 ----------

    Цитата Сообщение от Daisy Посмотреть сообщение
    Я только вчера прочитала про активные объекты. Немножко не понятно вот это: что такое ObjGet( idx, property ) и ObjSet( idx, property, value ).
    Эти две функции равносильны следующему:
    a = ObjGet(idx, property) ->

    a = значение параметра property объекта idx.

    т.е.
    a = ObjGet(idx,O_FLIP); ->

    а = свойство O_FLIP обьекта с индексом idx

    а индекс получаем функцией ObjFind()

    таким образом:

    idx = ObjFind(1000);
    a = ObjGet(idx, O_FLIP); ->

    a = свойство O_FLIP обьекта с ID = 1000

    А функция ObjSet делает все наоборот, присваивает свойству какое-то значение.
    idx = ObjFind(1000);
    ObjSet(idx, O_FLIP, 1); ->

    (свойство O_FLIP обьекта с ID = 1000) = 1

    ---------- Post added at 10:19 ---------- Previous post was at 10:17 ----------

    Цитата Сообщение от Daisy Посмотреть сообщение
    Я еще ничего больше не рисовала после того, как усышала про маски. Только у меня все-равно их нет.
    Попроси набор графики с маской у Yuriy. У него они самые лучшие)

    ---------- Post added at 10:46 ---------- Previous post was at 10:19 ----------

    Несколько замечаний для начинающих DizzyAGE писателей:

    1. Начинайте делать игру на большой карте, заведомо шире, чем предполагаемая игра. Размер карты не влияет на размер игры. На размер игры влияет количество нарисованной графики на этой карте. И рисовать игру начинайте из центра карты, чтобы не столкнуться с нехваткой поля деятельности.

    2. Активно используйте слои 0-7. Я рекомендую распределять слои так:

      Слой 0 - слой неба. На этом слое должно отображаться небо. Оно может быть не задействовано в игре и быть черным. Может быть одноцветным, голубым. Может быть одноцветным, меняющимся в зависимости от времени дня. Может быть многоцветным, меняющимся, как, например, в игре Fantastic Dizzy на Amig'e.

      Слой 1 - слой дальних обьектов на фоне неба. Это может быть луна, солнце, какие-то летящие по небу объекты, например, кометы, звезды. Так же это может быть пейзаж заднего фона, например, лес вдалеке, город и т.д.

      Слой 2 - слой персонажей дальнего плана. Летающие ЗА деревьями птицы, плавающие ЗА водорослями и кораблями рыбы и т.д.

      Слой 3 - слой ладшафта заднего плана. Это лес, земля, обстановка домов. Словом, практически весь основной ландшафт.

      Слой 4 - слой персонажей ближнего плана. Персонажи игры, а так же движущиеся на переднем плане птички, рыбки и т.д.
      Так же на этом плане предпочтительно сделать игрока (его слой задается в файле gamedef.gs в свойстве PLAYER_LAYER). Так же это может быть слоем предметов, которые берет и кладет игрок.

      Слой 5 - слой подводного пейзажа ближнего плана. Здесь находится все, что загораживает игрока, но должно находиться под водой. Например мачты, водоросли и т.д.

      Слой 6 - слой воды. Вода это не только спрайт анимированного контура воды, но еще и полупрозрачный спрайт толщи воды, который накладываясь на весь подводный пейзаж, делает его подводного цвета.

      Слой 7 - слой пейзажа ближнего плана. Это все, что загораживает игрока. Это могут быть столбы, деревья, мебель и т.д. Так же в этом слое можно размещать рельеф подводного мира, который не загораживается слоем воды. В частности это дно и бока водоемов.
      Так же это слой триггеров, которые желательно делать полупрозрачными фиолетовыми квадратиками. Можно варировать цвет триггеров, в зависимости от их функционала.

    3. Старайтесь использовать графику только с маской. Это и красиво, и поможет избежать проблем, когда вы вдруг захотите в вашей игре сделать другой фон или пейзаж заднего плана. Чтобы сразу представить, как будет выглядеть ваша графика на фоне чего-либо, начинайте рисовать карту на фоне голубого неба. Сделайте план 0 огромным голубым небом, и уже поверх него рисуйте спрайтами с маской. Это небо всегда можно убрать или запретить к рисованию поставив ему draw = 0.

    4. Рисуйте ландшафт так, чтобы в перспективе он мог бы свободно скроллироваться. Возможно, вы захотите потом или сразу сделать игру именно со скроллирующимся ландшафтом. Так же отдельно для красоты могут скроллироваться фоны заднего плана.

    5. Избегайте использования в игре монотонного земляного ландшафта наподобие игр Dizzy 5. Игра при этом выглядит просто унылым лабиринтом.

    6. По возможности рисуйте свои спрайты предметов и игроков. Повторение в играх одних и тех же персонажей и предметов делает игры мене интересными.
    Последний раз редактировалось Titus; 03.10.2012 в 10:57.

Страница 34 из 47 ПерваяПервая ... 303132333435363738 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Dizzy-AGE: Summer Blast Dizzy
    от Titus в разделе Dizzy-AGE
    Ответов: 102
    Последнее: 31.05.2012, 16:15
  2. Dizzy-AGE: Treasure Tomb Dizzy
    от Titus в разделе Dizzy-AGE
    Ответов: 1
    Последнее: 12.11.2011, 02:10
  3. Dizzy-AGE: Illusion Island Dizzy
    от Titus в разделе Dizzy-AGE
    Ответов: 178
    Последнее: 27.10.2011, 22:03
  4. Dizzy-AGE: Diamond Mine Dizzy
    от Titus в разделе Игры
    Ответов: 2
    Последнее: 13.11.2008, 16:06
  5. где найти доки по редактору с VIRT'а?
    от TomCaT в разделе Музыка
    Ответов: 15
    Последнее: 09.11.2008, 22:18

Ваши права

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