Вопросы по созданию RPG
|
|
Kto_Ya | Дата: Понедельник, 28 Ноября 2011, 16:47 | Сообщение # 1 |
участник
Сейчас нет на сайте
| У меня есть игровое поле, где происходит всё действие. Как мне сделать так чтоб при выборе драться с противником мы перешли в другую комнату? И после окончания боя, перешли опять же на игровое поле. Туду от куда перешли. Чтоб герой остался там же.
Diamond
|
|
| |
Dva_Kota | Дата: Понедельник, 28 Ноября 2011, 17:32 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Сделай комнату постоянной.
Новый пример инвентаря! /20.06.2012/
Energy Wars
|
|
| |
Kto_Ya | Дата: Понедельник, 28 Ноября 2011, 20:14 | Сообщение # 3 |
участник
Сейчас нет на сайте
| Ну, а как сделать чтоб герой и враг перешли в другую комнату? И постоянной комнату мне надо сделать игровую комнату?
Diamond
|
|
| |
LunarPixel | Дата: Понедельник, 28 Ноября 2011, 20:17 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Игровую комнату делаешь постоянной, а для перехода в другою комнату используй room_goto(комната)
|
|
| |
Kto_Ya | Дата: Понедельник, 28 Ноября 2011, 20:47 | Сообщение # 5 |
участник
Сейчас нет на сайте
| А ну вроде понятно. Это(room_goto) надо при столкновении с противником. А при поражении противника или героя, то переход в игровую комнату. Но тогда надо делать и героя постоянным, чтоб сохранялись все его значения(жизни, мана, опыт и т.д.)?
Diamond
|
|
| |
LunarPixel | Дата: Понедельник, 28 Ноября 2011, 20:51 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Kto_Ya, можно просто его характеристики сделать глобальными. Дописать перед переменными global.peremen. Или же сделать отдельный объект, в котором будут храниться характеристики, и уже этот объект делать постоянным. Как по мне, то героя делать постоянным не удобно.
|
|
| |
Kto_Ya | Дата: Понедельник, 28 Ноября 2011, 20:58 | Сообщение # 7 |
участник
Сейчас нет на сайте
| LunarPixel, Ну то что назначить из global. - это я знаю! Но пока думаю. А на счёт постоянного отдельного объекта, чёт я и не подумал если честно. Но тогда его нужно будет чтоб герой создавал постоянно в разных комнатах? С помощью Create? Или его поставить в каждой комнате?
Diamond
|
|
| |
LunarPixel | Дата: Понедельник, 28 Ноября 2011, 22:01 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| Kto_Ya, нет, его нужно будет поставить в одну комнату, и так как он будет постоянным, то он автоматически будет существовать во всех комнатах.
|
|
| |
Kto_Ya | Дата: Понедельник, 28 Ноября 2011, 23:01 | Сообщение # 9 |
участник
Сейчас нет на сайте
| LunarPixel, А хорошо, попробую! Добавлено (28.11.2011, 23:01) --------------------------------------------- + тебе за помощь!
Diamond
|
|
| |
MyACT | Дата: Вторник, 29 Ноября 2011, 03:48 | Сообщение # 10 |
C# CODERS
Сейчас нет на сайте
| Kto_Ya, у меня в подписи урок по РПГ есть,там есть все что тебе нужно.
3дэшечки: https://sketchfab.com/myactyindie Курентли воркс он: https://myacty.itch.io/raskopnik
|
|
| |
Kto_Ya | Дата: Пятница, 09 Декабря 2011, 23:25 | Сообщение # 11 |
участник
Сейчас нет на сайте
| MyACT, Хорошо, спасибо! Добавлено (09.12.2011, 23:25) --------------------------------------------- Всем привет! Народ подскажите что вот это такое и за что оно отвечает:
Diamond
|
|
| |
LunarPixel | Дата: Суббота, 10 Декабря 2011, 00:02 | Сообщение # 12 |
старожил
Сейчас нет на сайте
| Это родительский объект. Свойства этого объекта переходят на дочерний объект, в котором указан родитель. В данном случае объект hero станет обладать теми же свойствами, которыми обладает объект hero_control. Самый простой пример:
В родительском объекте есть вывод сообщения по нажатию на кнопку. Устанавливаем этого родителя какому-нибудь объекту и теперь если разместить этот дочерный объект в комнате, то при нажатии на кнопку появится сообщение (как указано у родителя).
Думаю всё понятно. Поэкспериментируй, если что...
|
|
| |
Kto_Ya | Дата: Суббота, 10 Декабря 2011, 22:50 | Сообщение # 13 |
участник
Сейчас нет на сайте
| LunarPixel, Спасибо, +! Добавлено (10.12.2011, 22:50) ---------------------------------------------
Code draw_healthbar(400,20,20,10,[b]переменная[/b],c_black,c_red,c_lime,0,true,true)
К примеру я использую какую то переменную:
переменная_1=100
Скрипт работает как надо, т.е. полоска заполнена полностью.
Вот врорая переменная:
переменная_2=25
Значение уже не 1000, а 25. Этим скриптом выводим эту переменную. Но полоска показывает только 25. А как сделать так чтоб этиже 25 заполнела всю полоску?
К примеру:
Здоровье=100 Магия=25
выводится обе полоски. И чтоб они были равны. Заполнение полоски магии должно быть заполнено полностью!
Как сделать?
Diamond
|
|
| |
LunarPixel | Дата: Суббота, 10 Декабря 2011, 22:55 | Сообщение # 14 |
старожил
Сейчас нет на сайте
| Данной функцией такого скорее всего не добиться напрямую. Что можно сделать:
1. Можно принимать 25 за 100 процентов и отнимать магию соответственно в процентах, т.е. в данном случае по 4 за раз... 2. Можно не использовать эту функцию, а отрисовывать манну спрайтом и потом этот спрайт уменьшать, но тут опять же нужно будет делать процентный расчет.
|
|
| |
Kto_Ya | Дата: Суббота, 10 Декабря 2011, 23:04 | Сообщение # 15 |
участник
Сейчас нет на сайте
| LunarPixel, Блин!!! Ну у меня нет пока такого опыта! Добавлено (10.12.2011, 23:04) --------------------------------------------- Модет поможешь решить проблему? У меня просто в игре есть возможность увеличивать колличество жизни и маны и т.д. Но все значения не по 100.
Diamond
|
|
| |
LunarPixel | Дата: Суббота, 10 Декабря 2011, 23:14 | Сообщение # 16 |
старожил
Сейчас нет на сайте
| Ну можно например как то так попробовать:
draw_sprite_stretched_ext(sprite_mana,0,x,y,mana_draw,16,c_blue,1)
mana_draw=100 mana=25
при онимании манны: mana_draw=mana_draw-(mana_draw/mana*количество отнимаемой манны)
mana_draw в данном случае будет длина спрайта-полоски.
Вроде ничего не напутал, попробуй. Работать должно при любых значениях.
|
|
| |
Kto_Ya | Дата: Суббота, 10 Декабря 2011, 23:29 | Сообщение # 17 |
участник
Сейчас нет на сайте
| Скачать
Вот сделал пример, но мне не нравиться что он как то рандонно убирает мне ману. Это почему так происходит?
Diamond
|
|
| |
LunarPixel | Дата: Суббота, 10 Декабря 2011, 23:38 | Сообщение # 18 |
старожил
Сейчас нет на сайте
| Kto_Ya, пример пока не могу скачать, но исправь вот так:
mana_draw=mana_draw-(100/mana*количество отнимаемой манны)
|
|
| |
Kto_Ya | Дата: Суббота, 10 Декабря 2011, 23:49 | Сообщение # 19 |
участник
Сейчас нет на сайте
| mana_draw=mana_draw-(100/mana*1)
Но отнимается по 4.
object0:
Create
Code global.mana_draw=100 global.mana=25
Draw
Code draw_sprite_stretched_ext(sprite_mana,0,x,y,global.mana_draw,16,c_blue,1) draw_text(10,10, "mana: " + string(global.mana_draw)) // Это чтоб можно было посмотреть по сколько отнимается
object1:
press <Enter>
Code global.mana_draw=global.mana_draw-(100/global.mana*1)
Diamond
Сообщение отредактировал Kto_Ya - Суббота, 10 Декабря 2011, 23:49 |
|
| |
LunarPixel | Дата: Суббота, 10 Декабря 2011, 23:52 | Сообщение # 20 |
старожил
Сейчас нет на сайте
| Ну так и должно по 4 отниматься, манны то у тебя 25. Просто эти 25 принимаются за 100. Если прописать global.mana=100, то отниматься будет по 1. Суть в том, что при любом количестве манны, полоска будет иметь одинаковую длину.
|
|
| |