instance_place, instance_position, и все collision_ функции возвращают ID найденного экземпляра. Следовательно, можно проделывать следующим образом в шаге юнита: if (selected && mouse_check_button_pressed(mb_left)) { // если текущий юнит выбран и мышь нажата target = collision_point(mouse_x, mouse_y, obj_enemy, false, true) if (target) { /* найден враг, можно атаковать */ } }
Большое спасибо за помощь. Вроде работает. Еще один вопрос: мой гг при клике мыши по врагу поворачивается по направлению к нему, но при движении гг, его направление остается прежним, т.е. он к врагу не разворачивается. Как сделать, чтобы он разворачивался, т.е. чтобы он как-бы удерживал цель?
Вот такой код у ГГ прописан и плюс еще клавиши перемещения по комнате на клавиатуре
Код
if (mouse_check_button_pressed(mb_left)) { target = collision_point(mouse_x, mouse_y, obj_vrag, true, true)
image_angle=point_direction(x, y, target.x, target.y)
Всем привет. Как можно сделать, чтобы при клике мыши по объекту возвращался id этого самого объекта, который будет использоваться в другом объекте? Выглядеть это должно примерно как в стратегиях, когда кликаешь по вражескому юниту, твой юнит направляется к нему и его же атакует
Товарищи!!! скажите пожалуйста, кто-нибудь, где-нибудь, когда-нибудь находил какие-нибудь статьи по работе с физикой в GMS кроме этой http://gamesmaker.ru/konstruktory-igr/game-maker/fizika/? интересуют статьи с описаниями функций GMS для работы с Box2D. Если да, то кто?, где? и когда? Спасибо
поделитесь пожалуйста не сложными примерами, в которых герой состоит из нескольких объектов (например тело - это один объект, руки - 2 других, ноги - еще пара объектов и т.д.), естественно примеры, интересуют, с анимацией этого героя, а еще очень интересно как сделать так, чтобы данный герой не разваливался на части после падения.
у тебя не последняя версия. Удали ее полностью, скачай с офсайта лаунчер и установи заново
да пробовал уже и с офсайта и всякие пиратские сборки качал. с офсайта запускается только какой-то gamemaker player, который устанавливается вместе с gms, причем при запуске он требует пройти регистрацию, но при регистрации ничего не присылает на почту, поэтому заценить что это такое так же не удалось
Все просто и сложно одновременно. Была такая же проблема. В Appdata есть файлик trace там ошибка твоего запуска. У меня ругался на framework. Исправил версию в файле .config и все распаковалось. Поправил версию framework в распакованном studio и все заработало. Если, конечно, это еще нужно. Ну, кто-нибудь обязательно столкнется с такой проблемой, прочитает и вылечит.
а опиши по подробней как это все делается, а то мучаюсь с запуском который день вот что у меня он пишет в trace
------------ GameMaker-Studio 1.4.1451.34389 -------------- Not running from the ApplicationData directory Creating appDataDir=C:\Documents and Settings\max\Application Data\GameMaker-Studio ############## Unhandled Exception! ################## System.IO.FileNotFoundException: Could not load file or assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. Не удается найти указанный файл. File name: 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' at System.ModuleHandle.ResolveMethod(Int32 methodToken, RuntimeTypeHandle* typeInstArgs, Int32 typeInstCount, RuntimeTypeHandle* methodInstArgs, Int32 methodInstCount) at System.ModuleHandle.ResolveMethodHandle(Int32 methodToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext) at System.Reflection.CustomAttributeData..ctor(Module scope, CustomAttributeRecord caRecord) at System.Reflection.CustomAttributeData.GetCustomAttributes(Module module, Int32 tkTarget) at System.Reflection.CustomAttributeData.GetCustomAttributes(Assembly target) at System.Resources.ResourceManager.GetNeutralResourcesLanguage(Assembly a, UltimateResourceFallbackLocation& fallbackLocation) at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents) at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream) at System.Resources.ResourceManager.GetObject(String name) at Updater.Downloading.InitializeComponent() at Updater.Downloading..ctor() at Updater.Downloading..ctor(String _newMessage) at Updater.SparkleUpdate.Create() at Updater.Program.Main()
WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Научите, как сделать так, чтобы при столкновении с врагом урон гг получал только 1 раз (в момент столкновения), а не каждый шаг всего времени контакта гг и врага. Повторный урон гг должен получать после повторного столкновения. А то что-то у меня ни фига не получается.
Друзья, помогите сделать так, чтобы при движении курсором мыши на экране отображалось значение скорости, т.е если курсор стоит на месте, то скорость = 0, а при ускорении курсора, значение скорости отображаемое на экране, увеличивалось
Здравствуйте. Подскажите пожалуйста может какая функция есть либо способ, при котором бы возвращались параметры ближайшего к мобу объекта (такие как координаты например, а еще лучше ширина и высота) и чтобы при этом их можно было бы использовать в коде моба. Объекты при этом в игре используются разные, в том числе и сами мобы.
Как вариант: Можно создать для объекта X двойника без спрайта, но с маской, задать ему координаты оригинала, и столкновение объекта Y проверять не с оригинальным объектом X, а с его "дублером".
Спасибо за интересную идею, Товарищ. Правда получается немного кривовато, но это, я думаю, вопрос места из которого растут мои руки. Это же я так понимаю, какой-то креативный вариант? Может быть есть более стандартное решение данной проблемы? Ведь наверняка не я один задавался таким вопросом.
Здрасти. Помогите пожалуйста. Например есть объекты Х, Y и Z. У объекта Х маска покрывает не весь спрайт. Как сделать чтобы проверка столкновения объекта Х с объектом Y проходила по маске, а с объектом Z по всем пикселям спрайта?
Вещи конечно элементарные, но дело в том, что я и элементарные вещи знаю далеко не все. Новичок я в этом деле. А где можно поподробней об этом почитать?
Здравствуйте. Интересует туториал или статья или хоть что-нибудь по созданию игр жанра beat 'em up, таких как battlrtoads, double dragon, черепашки ниндзя и т.д., в общем где объекты перемещаются не только взад-вперед, но и вверх вниз, при этом вид игры не с верху, а с боку. Я так понимаю, что подобные игры делаются по принципу создания изометрических игр. Несколько примеров нашел и получилось только реализовать способность гг обходить, заходить за объекты (ну вы понимаете...), но запрыгивать на эти объекты его я так и не научил. Буду благодарен за любую помощь.