Aizeken | Дата: Четверг, 11 Августа 2016, 14:42 | Сообщение # 1 | Тема: Помогите с курсором в ГМ |
был не раз
Сейчас нет на сайте
| Вот рисунок - и скажите почему курсор не может выйти за помеченные красным границы? http://s1.uploadpics.ru/images/-yBruIW4vZ.jpg
|
|
| |
Aizeken | Дата: Среда, 10 Августа 2016, 13:41 | Сообщение # 2 | Тема: Вопрос - Ответ (Game Maker) |
был не раз
Сейчас нет на сайте
| Здравствуйте! Ну собственно - есть игра пошаговая рпг, в которой за 1 ПК должны играть 2 человека. Делаю на движке Game Maker. В окне выбора - есть 4 дракона(эльфийский, человеческий, гномий, орчий) и 4 стихии. В начале - этой румы - вылазит меседж (Player 1 pick) .Вот скрин выбора сторон. http://s1.uploadpics.ru/images/bkuSsj77DZ.jpg После того как переменные VuborRasu1 и VuborStihii1 = false - вылазит меседж (Player 2 pick)
if vuborRasu1=false && vuborStihii1=false && player1xod=true {
player2xod=true player1xod=false
alarm[11]=5 //message (player 2 pick)
} До этого момента Player1 - может спокойно выбрать любую расу и стихию, а вот когда настает черед выбирать Player2 - то начинаются чудеса. Стихии не выбирает, только если нажать на огонь - выбирает воду... Так же с расами. Выбрать можно только 2 расы - в зависимости от того - какую выбрал первый игрок. Код вибора сторон - выглядит так: (плз почитайте - может че подскажите)
//Эти переменные отвечают за то - какую расу и стихию выбрал 1 игрок, что бы потом в соответствии с этим он появился на карте в нужном месте и с нужной стихией (они не столь важны в моем вопросе) vuborOrki=0 vuborLudi=0 vuborElfu=0 vuborGnomu=0 vuborVozduh=0 vuborOgon=0 vuborVoda=0 vuborZemlya=0
//Эти переменные отвечают за то - какую расу и стихию выбрал 2 игрок, что бы потом в соответствии с этим он появился на карте в нужном месте и с нужной стихией (они не столь важны в моем вопросе) vuborOrki2=0 vuborLudi2=0 vuborElfu2=0 vuborGnomu2=0 vuborVozduh2=0 vuborOgon2=0 vuborVoda2=0 vuborZemlya2=0
//переменные для возможности выбора 1 и 2 игрокам рас и стихий - по 1му разу(по 1 клику на расу и на стихию каждому игроку)
globalvar vuborRasu1, vuborStihii1, vuborRasu2, vuborStihii2,player1xod,player2xod; vuborRasu1=true vuborStihii1=true vuborRasu2=true vuborStihii2=true
player1xod=true player2xod=false
alarm[0]=5 // message (Player 1 pick!)
//И так - сам скрипт:
//PLAYER1
if player1xod=true {
//Orki if mouse_x>230 and mouse_x<625 and mouse_y>80 and mouse_y<775 // координаты мышки над позицией обьекта(рисунка) при нажатии на который выберутся орки и тд. к всем остальным
{ if mouse_check_button_released(mb_left) //Если отпустить левую кл. мышки { if vuborRasu1=true // Если выбор расы1 (то есть для 1го игрока) - позволен { if vuborOrki=0 {vuborOrki=1 vuborRasu1=false alarm[1]=1 } // Если ВиборОрки=0 (то есть никто еще не выбирал орков). То Выбор Орки=1 (орков нельзя уже будет выбрать, вибор Раси1(первому игроку) - запрещен(фолс). //Алармы во всех пунктах - отвечают за смену спрайта для определенного объекта рас или стихий, который выбрали. } } } //Ludi if mouse_x>1525 and mouse_x<1920 and mouse_y>90 and mouse_y<585 {
if mouse_check_button_released(mb_left) { if vuborRasu1=true { if vuborLudi=0 {vuborLudi=1 vuborRasu1=false alarm[2]=1 }
} } }
//Elfu if mouse_x>225 and mouse_x<620 and mouse_y>720 and mouse_y<1215 {
if mouse_check_button_released(mb_left) { if vuborRasu1=true { if vuborElfu=0 {vuborElfu=1 vuborRasu1=false alarm[3]=1 }
} } }
//Gnomu if mouse_x>1525 and mouse_x<1920 and mouse_y>720 and mouse_y<1215 {
if mouse_check_button_released(mb_left) { if vuborRasu1=true { if vuborGnomu=0 {vuborGnomu=1 vuborRasu1=false alarm[4]=1 } }
} }
//Voda if mouse_x>860 and mouse_x<1057 and mouse_y>16 and mouse_y<206 {
if mouse_check_button_released(mb_left) { if vuborStihii1=true { if vuborVoda=0 {vuborVoda=1 vuborStihii1=false alarm[5]=1} }
} }
//Zemlya if mouse_x>1088 and mouse_x<1288 and mouse_y>16 and mouse_y<206 {
if mouse_check_button_released(mb_left) { if vuborStihii1=true { if vuborZemlya=0 {vuborZemlya=1 vuborStihii1=false alarm[6]=1}
} } } //Ogon if mouse_x>635 and mouse_x<831 and mouse_y>16 and mouse_y<206 {
if mouse_check_button_released(mb_left) { if vuborStihii1=true { if vuborOgon=0 {vuborOgon=1 vuborStihii1=false alarm[7]=1}
} } } //Vozduh if mouse_x>1317 and mouse_x<1515 and mouse_y>16 and mouse_y<206 {
if mouse_check_button_released(mb_left) { if vuborStihii1=true { if vuborVozduh=0 {vuborVozduh=1 vuborStihii1=false alarm[8]=1} } }
}
}
//PLAYER2 //Вот тут - всё так же как и для 1 игрока написано - просто вместо единиц в переменных - стоит двойка (естественно для 2 игрока - другие переменные, но для тех же объектов) //Но - почти все не работает... Я не могу понять как выбор первым игроком влияет на выбор второго.. if player2xod=true { //Orki2 if mouse_x>230 and mouse_x<625 and mouse_y>80 and mouse_y<775 {
if mouse_check_button_released(mb_left) { if vuborRasu2=true { if vuborOrki=0 {vuborOrki2=1 vuborRasu2=false alarm[1]=1 }
} } }
//Ludi2 if mouse_x>1525 and mouse_x<1920 and mouse_y>90 and mouse_y<585 {
if mouse_check_button_released(mb_left) { if vuborRasu2=true { if vuborLudi=0 {vuborLudi2=1 vuborRasu2=false alarm[2]=1 } }
} }
//Elfu2 if mouse_x>230 and mouse_x<625 and mouse_y>80 and mouse_y<775 {
if mouse_check_button_released(mb_left) { if vuborRasu2=true { if vuborElfu=0 {vuborElfu2=1 vuborRasu2=false alarm[3]=1 } }
} }
//Gnomu2 if mouse_x>230 and mouse_x<625 and mouse_y>80 and mouse_y<775 {
if mouse_check_button_released(mb_left) { if vuborRasu2=true { if vuborGnomu=0 {vuborGnomu2=1 vuborRasu2=false alarm[4]=1 } } }
}
//Voda2 if mouse_x>635 and mouse_x<831 and mouse_y>16 and mouse_y<206 {
if mouse_check_button_released(mb_left) { if vuborStihii2=true { if vuborVoda=0 {vuborVoda2=1 vuborStihii2=false alarm[5]=1} }
} }
//Zemlya2 if mouse_x>635 and mouse_x<831 and mouse_y>16 and mouse_y<206 {
if mouse_check_button_released(mb_left) { if vuborStihii2=true { if vuborZemlya=0 {vuborZemlya2=1 vuborStihii2=false alarm[6]=1} }
} }
//Ogon2 if mouse_x>635 and mouse_x<831 and mouse_y>16 and mouse_y<206 {
if mouse_check_button_released(mb_left) { if vuborStihii2=true { if vuborOgon=0 {vuborOgon2=1 vuborStihii2=false alarm[7]=1} }
} }
//Vozduh2 if mouse_x>635 and mouse_x<831 and mouse_y>16 and mouse_y<206 {
if mouse_check_button_released(mb_left) { if vuborStihii2=true { if vuborVozduh=0 {vuborVozduh2=1 vuborStihii2=false alarm[8]=1} }
} }
}
|
|
| |
Aizeken | Дата: Вторник, 26 Июля 2016, 19:39 | Сообщение # 3 | Тема: Делаю 2д игру. Помогите с решением отдельных вопросов по ГМ. |
был не раз
Сейчас нет на сайте
| s1.uploadpics.ru/images/ZyAM_2kPIW.jpg Вот есть пошаговая 2д игра. Рисовал всё на фотошопе(как умею), некоторые картинки брал просто с интернета Описать могу как — «пошаговое РПГ с видом 2д». Игроков может быть до 4х. На данный момент мы можем увидеть интерфейс для 2х игроков за 1 пк.(В идеале — игра должна быть по сети) Есть 4 города: эльфы, гномы, орки ну и люди. Собственно за них можно играть. Так же около 14 сюжетов победы. У меня в текстовом виде прописаны все характеристики, сюжеты, баланс и тд. Написал аока что только код передачи хода, по клеточное передвижение и еще парочку вещей. Например: я выделил на картинке как летают стихии по «кругу судьбы», и дают рандомный бонус игрокам, о чем кстате я буду говорить во втором вопросе снизу.
Смысл игры — выбираешь город(расу), свободный мир, пол часа перемирия, копишь ресурсы, артефакты, золото, есть квесты, сражения с монстрами, криты, увороты, особые артефакты, проффесии и тд. После перемирия можно сражаться или же одержать победу допройдя один из сюжетных «квестов Победы», чему, кстати, могут помешать другие игроки…
Сразу хотел бы спросить — может есть кто-то кто шарит в Game Maker и по скайпе поможет мне с реализацией? О вознаграждении или же о совместной роботе и дальнейших «бонусах» договоримся.
А в принципе вопросы таковы: 1.- Как сделать что бы вылезала картинка с инфой о предмете при нажатии правой клавиши мышки?
2.-Как сделать так что бы стихии(обведены на первом скрине) когда останавливаются, выдавали определенному игроку определенный приз на котором остановились в момент начала его хода.
3.-Вот я сделал что когда сражаешься с монстром (бой автоматический). Реализован бой с помощью невидимых пуль между персонажами. Я прописал что при столкновении с объектом Hр-=20. Но при первом попадании пуля снимает сразу 40 хп. А дальше ровно по 20, как и надо(скрин)====>http://s1.uploadpics.ru/images/ZJNxCwlv8Z.jpg. Почему и как исправить?
4. У меня инвентари вылазят при нажатии определенных клавиш. Реализовано с помощью if keyboard_key_released (ord(«N»)) {instance_create(x,y,obj_inventar}. Скрин где 2 игрока открыли инвентари => s1.uploadpics.ru/images/b1_iXFev8b.jpg, и скрин когда только один игрок открывает инвентарь => s1.uploadpics.ru/images/bkoZntgvUZ.jpg Вопрос — как положить объекты в инвентарь такого типа? И что бы при его закрытии — эти вещи пропадали вместе с ним а не оставались на фоне игры. P.S. Инвентарь у меня не в отдельной комнате, а просто как объект что вылазит при нажатии «I».
5. Как сделать так что бы при нажатии на шахту игроку рандомом попадалось либо hр-=25% либо 1-23 ресурса в карман. Короче рандом — проблема. 6.После сражения с монстром — игрок переходит в пред. комнату(глобальная карта) — но появляется не возле монстра на которого напал — а в том месте где прописан его Create в начале игры. + Как сохранить изменения очков х-к и перенести результат потери Хп с комнаты боя в глобальную карту обратно?
6.И еще, есть много версий GameMaker в steam, мне стоит покупать Про версию, или сразу для андроид или другую какую?
На 1 вопрос решение нашел, но не до конца. В ГеймМейкере у меня именно функция к примеру «Global_mouse_left_pressed» работает. А вот просто на обькте «Mouse_left_pressed» — нет. (Может из за того что не куплена про версия программы) — и получается что при нажатии клавиши на любом объекте — вылазит инфа, например о моем суккубе, а я хочу что бы она вылазила только если нажать на него. То есть — глобальное нажатие — говорит само за себя, а мне надо отдельное нажатие на объекте «суккуб», но такое у меня не работает — либо я чего то не знаю? Вот скрин в пример=> s1.uploadpics.ru/images/byMmU4ZDUZ.jpg
И так Кто хочет поработать через скайп — skype «Aizeken2». Спасибо за внимание.
Сообщение отредактировал Aizeken - Вторник, 26 Июля 2016, 22:01 |
|
| |