Форум » Создаем игру » Помоги с передвигиванием ящиков как в sokoban"е !!!пожалуйста!!! » Ответить

Помоги с передвигиванием ящиков как в sokoban"е !!!пожалуйста!!!

dimas_man: Помоги с передвигиванием ящиков как в sokoban"е !!!пожалуйста!!! Я Создаю логическую игру и у меня не получаеться сделать так чтобы можно было передвигать ящики с помощью чувачка (я новичок, програмирование не знаю) кто может сделайте пример плииз, или хотя бы скажите что нужно делать((( (игру создаю в game maker'e)

Ответов - 14

Jin KaZaMa: Ну во первых - без скрипта такое в гм вряд-ли сделать Во-вторых - скрипты ГМ это не программирование в полноценном смысле. В третьих - я думаю, что тебе поможет волшебная функция motion_add, вот только как ее использовать подумай сам, это не так сложно как кажется, просто почитай справку, поищи примеры - все будет ок

Lagevae: Без скриптов, можно, доказано! Это во-первых. Во-вторых, всё зависит от того, какое нужно движение, плавное или резкое, я могу реализовать любое.

dimas_man: Jin KaZaMa пишет: поищи примеры - все будет ок Я искал - искал так и не нашёл!!! Lagevae пишет: всё зависит от того, какое нужно движение, плавное или резкое, я могу реализовать любое. нужно плавное если можешь сделай пример, пожалуйста!!!


Jin KaZaMa: Lagevae пишет: Без скриптов, можно, доказано! Вопрос - а нафига так извращать свой замученный моск?)) Когда нужно реализовать какую-либо фичу(в данном примере - толкание ящиков) нужно сперва поискать везде, а не сделали подобное уже, вдруг есть хороший пример...если примера нету - то надо собрать все свои мысли и идеи и упорядочить их, выяснить, как и что будет происходить и что в итоге получиться, в самых подоробных деталях. Зачем я это говорю? да потому что это поможет в будущем создавать свои собственные фичи без чужой помощи))) Я подсказку дал, через какую функцию делать, осталось только почитать про нее в справке и поэкспериментировать)))

Lagevae: dimas_man пишет: нужно плавное если можешь сделай пример, пожалуйста!!! Тебе надо, чтобы по сетке двигалось или чтобы как попало?

FatPir: Jin KaZaMa пишет: Вопрос - а нафига так извращать свой замученный моск?)) это про меня, предпочитаю кнопки, просто начал с них на скрипты лениво переходить и в этом нет ни чего сложного если их знать мне кажется даже проще скриптов(хотя многие говорят обратное) и писать не надо.

dimas_man: Lagevae пишет: Тебе надо, чтобы по сетке двигалось или чтобы как попало? Как попало

Lagevae: dimas_man пишет: Как попалоЭто легко. У ящика надо при столкновении с чуваком: if (place_meeting(x-1,y,объект_чувака)) {x+=объект_чувака.speed (если он у тебя через speed, если у него простое изменение координат по x и y, то пиши x+=значение, которое у чувака в управлении)} if (place_meeting(x+1,y,объект_чувака)) {x-=объект_чувака.speed} if (place_meeting(x,y-1,объект_чувака)) {y+=объект_чувака.speed} if (place_meeting(x,y+1,объект_чувака)) {y-=объект_чувака.speed}

dimas_man: спасибо, щас попробую

dimas_man: ball - это чувак wall - это ящик У меня получается вот так, тока как я понял это не правильно (просто в GML ваще не шарю ) if (place_meeting(x-6,y,ball)) {x+=ball.speed} if (place_meeting(x+6,y,ball)) {x-=ball.speed} if (place_meeting(x,y-6,ball)) {y+=ball.speed} if (place_meeting(x,y+6,ball)) {y-=ball.speed} когда вставляю я вот так: if (place_meeting(x-6,y,ball)) {x+6=ball.speed} if (place_meeting(x+6,y,ball)) {x-6=ball.speed} if (place_meeting(x,y-6,ball)) {y+6=ball.speed} if (place_meeting(x,y+6,ball)) {y-6=ball.speed} так ваще игра не загружатся, я ваще новичок объясни по подробней, pleaze

zelf: лучше дай исходник и скажи точней что надо, посмотрю.

dimas_man: скачать это как бы не сам исходник, (а просто чё-та типа примера) сдесь мячик и стена которую нужно передвинуть zelf пишет: скажи точней что надо мне нужно чтобы мячик(ball) передвинул ящик (wall) плавно (не резко по клеткам, а постепенно) если можешь помоги плиз"!! зы: я находил пример сокобана, но он резко по клеткам передвигает ящики

sanchez: на пример http://priguchi.narod.ru/pr.gm6

zelf: http://dump.ru/file_catalog/797556 - вот попытался сделать через hsped и vspeed )) http://priguchi.narod.ru/pr.gm6 - этот пример тебе больше подойдет



полная версия страницы