Результаты поиска
| |
Krosos | Дата: Пятница, 29 Ноября 2013, 17:24 | Сообщение # 1 | Тема: Вопрос - Ответ (Game Maker) |
постоянный участник
Сейчас нет на сайте
| JunkerKun, ты забыл самое главное -наличие препятствий.ИИ не должен стрелять в стену за которой скрылся игрок.
Мой проект
|
|
| |
Krosos | Дата: Пятница, 29 Ноября 2013, 03:21 | Сообщение # 2 | Тема: Вопрос - Ответ (Game Maker) |
постоянный участник
Сейчас нет на сайте
| Цитата t111 ( ) решил проблему , дополнив к point distance фун-ю collision line, прикрепив к врагу линии с обоих сторон, которые начинались с точки относительно его x,y . Линия х слева заканчивалась в точке х-300, справа х+300. В какую линию попадал я, в ту сторону враг и разворачивался и стрелял... Я сделал сначала также ,но потом изменил код на этот: Цитата if distance_to_object(objPlayer)>200 {KEY_SHOOT_CHARGE=1}
if !collision_line(x,y,objPlayer.x,y,obj_Block,0,0) and y>objPlayer.y-10 and y<objPlayer.y+10 and grounded{ if distance_to_object(objPlayer)>200 {if Buster_3=1{KEY_SHOOT=1}else{KEY_SHOOT=0}} if distance_to_object(objPlayer)<=200{KEY_SHOOT=1} }else{KEY_SHOOT=0}
KEY_SHOOT - это стрельба , а KEY_SHOOT_CHARGE- это заряд бустера(как в мегамэне) А разворот еще проще: Цитата if KEY_SHOOT=1{ KEY_SHOOT_CHARGE=0 KEY_LEFT=0 KEY_RIGHT=0 KEY_JUMP=0 if x>objPlayer.x{image_xscale=-1}else{image_xscale=1}}
Я делал моба , как игрока , дав новые условия тем же переменным.
Мой проект
Сообщение отредактировал Krosos - Пятница, 29 Ноября 2013, 03:23 |
|
| |
Krosos | Дата: Пятница, 29 Ноября 2013, 03:14 | Сообщение # 3 | Тема: проверка косания |
постоянный участник
Сейчас нет на сайте
| mouse_x и mouse_y , кажется.
Мой проект
|
|
| |
Krosos | Дата: Среда, 27 Ноября 2013, 17:27 | Сообщение # 4 | Тема: Game Maker studio standart, как получить бесплатно ключ |
постоянный участник
Сейчас нет на сайте
| А есть информация по поводу этого ключа: что он дает , что позволяет?
Мой проект
Сообщение отредактировал Krosos - Среда, 27 Ноября 2013, 17:27 |
|
| |
Krosos | Дата: Понедельник, 25 Ноября 2013, 15:04 | Сообщение # 5 | Тема: Прошу помощи |
постоянный участник
Сейчас нет на сайте
| Забудь про эту глупую константу, как гравитация. Вот код: Create:
step: Код if !place_free(x,y+1){grounded=1}else{grounded=0} //Если под игроком что-то есть - то grounded=1 иначе grounded=0
if !grounded {vsp+=1} //Если игрок не на земле (то есть в воздухе) , то к переменной всп(Вертикальная скорость) прибавить 1 (Это типа гравитация)
if !place_free(x,y+vsp) and vsp!=0{ //Следующий код прижимает игрока к потолку(Чтобы не застрять в нем) while place_free(x,y+sign(vsp)) {y+=sign(vsp)} vsp=0 }
if !place_free(x,y+vsp) and vsp>0{ //Следующий код прижимает игрока к земле(Чтобы не застрять в ней) cc=vsp+1; while place_free(x,y+1) and cc>=0 {y+=1} grounded=1; vsp=0; }
Мой проект
Сообщение отредактировал Krosos - Понедельник, 25 Ноября 2013, 15:05 |
|
| |
Krosos | Дата: Суббота, 23 Ноября 2013, 00:47 | Сообщение # 6 | Тема: Платформер |
постоянный участник
Сейчас нет на сайте
| На , дарю. Однажды было очень скучно и налепил приблизительный аналог мегамена ,переделав другой платформер. Кнопки X Z D , кажется, и стрелки. Игра
Мой проект
Сообщение отредактировал Krosos - Суббота, 23 Ноября 2013, 00:47 |
|
| |
Krosos | Дата: Среда, 13 Ноября 2013, 01:29 | Сообщение # 7 | Тема: d3d_vertex_texture_color |
постоянный участник
Сейчас нет на сайте
| А точно , что-то я тупанул на ночь.Все z равны +16 - это значит крышка. Попытался я понять , но выглядит сложновато пока для меня...
Мой проект
|
|
| |
Krosos | Дата: Вторник, 12 Ноября 2013, 04:35 | Сообщение # 8 | Тема: d3d_vertex_texture_color |
постоянный участник
Сейчас нет на сайте
| Я мог бы попытаться помочь или подумать , но я не использую 3Д и поэтому не понимаю суть проблемы.. Пока я понял только то , что сторона 0 - это крышка. Почему там 6 вертексов? Вроде 4 же должно быть , если использовать мои поверхностные познания из 3Д макса
Мой проект
|
|
| |
Krosos | Дата: Пятница, 08 Ноября 2013, 23:26 | Сообщение # 9 | Тема: 2 Вопроса про скрипты |
постоянный участник
Сейчас нет на сайте
| LunarPixel, спасибо большое!
Мой проект
|
|
| |
Krosos | Дата: Пятница, 08 Ноября 2013, 19:05 | Сообщение # 10 | Тема: 2 Вопроса про скрипты |
постоянный участник
Сейчас нет на сайте
| 1.Как использовать argument (без цифр) , что он вообще означает? 2.Как правильно прописывать код типа: path=scr_ex() , и можно не большой пример кода , если не трудно...
Мой проект
|
|
| |
Krosos | Дата: Пятница, 08 Ноября 2013, 19:02 | Сообщение # 11 | Тема: сверху вниз. |
постоянный участник
Сейчас нет на сайте
| Легкотня это...
if ontop and place_meeting(x,y+1,obj) and keyboard_check_pressed(vk_down){ ontop=0 down_moving=1 }
if down_moving=1{ y+=1 if !place_meeting(x,y,obj){down_moving=0 ondown=1} }
if ondown and place_meeting(x,y-1,obj) and keyboard_check_pressed(vk_up){ ondown=0 up_moving=1 }
if up_moving=1{ y-=1 if !place_meeting(x,y,obj){up_moving=0 ontop=1} }
Дальше надеюсь сам сделаешь свое управление для состояний ontop и ondown
Мой проект
|
|
| |
Krosos | Дата: Пятница, 08 Ноября 2013, 15:05 | Сообщение # 12 | Тема: сверху вниз. |
постоянный участник
Сейчас нет на сайте
| LetsOffBrains, ага , точняк! А что сложного?Просто сделай 3 состояния. Первое , если сверху или второе если снизу , а третье если при спуске или подъеме и переключай их в зависимости от местонахождения.
Мой проект
|
|
| |
Krosos | Дата: Пятница, 08 Ноября 2013, 05:36 | Сообщение # 13 | Тема: сверху вниз. |
постоянный участник
Сейчас нет на сайте
| Не скажу я - не скажет никто... Картинка не ясна , вопрос тоже... Поправь ... Это вообще вид сверху или сбоку?
Мой проект
|
|
| |
Krosos | Дата: Пятница, 08 Ноября 2013, 03:04 | Сообщение # 14 | Тема: Создание ячеек с учетом местности. |
постоянный участник
Сейчас нет на сайте
| Ну я использовал вот такую часть кода:
Код if argument5=1{ steps=global.SP[target.O]+1 if steps>2{ for (i=0 ;i<=path_get_number(tile_path);i+=1){ if place_meeting(path_get_point_x(tile_path,i),path_get_point_y(tile_path,i),difficult_terrain_1){ steps-=0.5 } if place_meeting(path_get_point_x(tile_path,i),path_get_point_y(tile_path,i),difficult_terrain_2){ steps-=1 }} if path_get_number(tile_path)>round(steps){instance_destroy()} }}}}}
И сразу же заметил один неприятный косяк=( Раньше я не придавал значения этому , потому что такой способ перемещения не планировался , но теперь это стало очень важным... На скриншоте синими цифрами показано , насколько уменьшился путь до ячеек из-за местности , а красными линиями выделены пути. Из-за такого поиска пути , некоторые ячейки удалились , когда они могли быть достигнуты... Что можно с этим сделать? Я смотрел волновой алгоритм , но там ,кажется , тоже самое... Смотрел А стар , но там вылетают какие-то непонятные ошибки... Добавлено (08.11.2013, 03:04) --------------------------------------------- Опять я сам решил свою проблему... Подошел волновой алгоритм , но не тот , что я нашел до этого! Тот вообще был нисколько не ясным , поэтому я использовал другую основу и довел до того , что мне нужно. Пример
Мой проект
|
|
| |
Krosos | Дата: Суббота, 02 Ноября 2013, 18:03 | Сообщение # 15 | Тема: Вопрос , про медленный поворот объекта. |
постоянный участник
Сейчас нет на сайте
| LunarPixel, Спасибо!
Мой проект
|
|
| |
Krosos | Дата: Пятница, 01 Ноября 2013, 12:06 | Сообщение # 16 | Тема: Вопрос , про медленный поворот объекта. |
постоянный участник
Сейчас нет на сайте
| Посмотри еще раз , там ,вроде, все правильно у меня./ И не в этом суть вопроса.
Мой проект
|
|
| |
Krosos | Дата: Четверг, 31 Октября 2013, 23:01 | Сообщение # 17 | Тема: Вопрос , про медленный поворот объекта. |
постоянный участник
Сейчас нет на сайте
| Самый частый пример такого - это турель. Вот ее примерный код:
direction=round(direction) if point_direction(x,y,Player.x,Player.y)!=direction{ if point_direction(x,y,Player.x,Player.y)>direction{direction+=2}else{direction-=2} } Вроде нормально , но возникает проблема.=( Когда , например , поинтдирешен равен 350 , а дирекшен равен 30 , то поворот пойдет по часовой стрелке , а не против часовой , то есть ,нелогично. Что тут можно сделать?
Мой проект
|
|
| |
Krosos | Дата: Четверг, 31 Октября 2013, 17:03 | Сообщение # 18 | Тема: Пара вопросов по гм 8.1 |
постоянный участник
Сейчас нет на сайте
| Какой-то странный код... Вот код движения по горизонтали: По вертикали тот же самый , но для оси y
KEY_RIGHT=keyboard_check(vk_right) KEY_LEFT=keyboard_check(vk_left)
if (KEY_RIGHT) {hsp=8 image_xscale=1} if (KEY_LEFT) {hsp=-8 image_xscale=-1}
if !KEY_RIGHT and !KEY_LEFT {hsp=0} if !place_free(x+hsp,y){ if hsp!=0{ while place_free(x+sign(hsp),y){x+=sign(hsp)} hsp=0 }}
x+=hsp
Мой проект
Сообщение отредактировал Krosos - Пятница, 01 Ноября 2013, 12:08 |
|
| |
Krosos | Дата: Пятница, 25 Октября 2013, 14:16 | Сообщение # 19 | Тема: Переменная в переменной |
постоянный участник
Сейчас нет на сайте
| Ну , это вроде не совсем то Я сейчас сделал вот так:(Вроде работает.Я надеюсь...)
Код for (A=1;A<=4;A+=1){ if global.Debuff_Attack[A,O]=1{ global.Debuff_Attack[A,O]=0 switch A{ case 1: X=global.AT[O] break case 2: X=global.DF[O] break case 3: X=global.IN[O] break case 4: X=global.SP[O] break }
if (X+global.Debuff[A,O]-global.Buff[A,O])<=global.Debuff_Power[A,O] {global.Debuff_Power[A,O]=X+global.Debuff[A,O]-global.Buff[A,O]}
if global.Debuff[A,O]<=global.Debuff_Power[A,O] { X+=global.Debuff[A,O] global.Debuff[A,O]=global.Debuff_Power[A,O] X-=global.Debuff[A,O] global.Debuff_Time[A,O]=global.Debuff_Available_Time[A,O]
switch A{ case 1: global.AT[O]=X break case 2: global.DF[O]=X break case 3: global.IN[O]=X break case 4: global.SP[O]=X break } }
Спасибо за внимание и помощь.
Мой проект
|
|
| |
Krosos | Дата: Пятница, 25 Октября 2013, 13:46 | Сообщение # 20 | Тема: Переменная в переменной |
постоянный участник
Сейчас нет на сайте
| Ну.. Примерно так: switch A case 1: XXX=global.AT[O] break case 2: XXX=global.DF[O] break case 3: XXX=global.IN[O] break case 4: XXX=global.SP[O] break case 5: XXX=global.HP[O] break ......... if (XXX+global.Debuff[A,O]-global.Buff[A,O])<=global.Debuff_Power[A,O] { global.Debuff_Power[A,O]=XXX+global.Debuff[A,O]-global.Buff[A,O] } XXX должен являться переменной ,а не числом.
Мой проект
Сообщение отредактировал Krosos - Пятница, 25 Октября 2013, 13:47 |
|
| |
|