Пятница, 22 Ноября 2024, 23:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
Quad69Дата: Воскресенье, 11 Октября 2015, 20:46 | Сообщение # 181 | Тема: Создание объекта, относительно вида
заслуженный участник
Сейчас нет на сайте
В шаг объекта игрока:
Код
view_xview[0]=x-sprite_width;
view_yview[0]=y-200
Quad69Дата: Четверг, 08 Октября 2015, 16:14 | Сообщение # 182 | Тема: Создание объекта, относительно вида
заслуженный участник
Сейчас нет на сайте
Код
x = view_wview[0]
Quad69Дата: Вторник, 06 Октября 2015, 20:27 | Сообщение # 183 | Тема: Движение эллипса (шара) по наклонной поверхности
заслуженный участник
Сейчас нет на сайте
Если это простой объект которым ты не управляешь, то используй физику gms.
Если же это игрок, то вот код в Step.
Код
repeat(3)  
{
if !place_free(x,y)
  {
   y-=1
  }
else
{
exit;
}
}
y+=3
Quad69Дата: Понедельник, 05 Октября 2015, 21:58 | Сообщение # 184 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
Извини, но тут уже помочь не смогу. Слишком запутан твой инвентарь, много кода.
Quad69Дата: Понедельник, 05 Октября 2015, 18:30 | Сообщение # 185 | Тема: Анимация вращения карт
заслуженный участник
Сейчас нет на сайте
Цитата uriage ()
Реально ли так "издеваться" над спрайтом ?

Да.
Сделай спрайт карты с двух сторон(кадр 0 - Одна сторона, кадр 1 - Вторая сторона)
Код в step
Код
if image_xscale<0 {image_index=1}else{image_index=0}

И например в событии когда мышка наведена на карту пиши:
Код
if image_xscale>-1 {image_xscale-=0.05}

И когда НЕ наведена
Код
if image_xscale<1 {image_xscale+=0.05}

Должно получится
Quad69Дата: Понедельник, 05 Октября 2015, 00:02 | Сообщение # 186 | Тема: Анимация вращения карт
заслуженный участник
Сейчас нет на сайте
Если надо что бы карты просто крутились, то пиши image_angle+=5
Вот простой пример:
Код
if select {image_angle+=5}
Quad69Дата: Воскресенье, 04 Октября 2015, 22:36 | Сообщение # 187 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
Скорее всего когда ты достаёшь предмет из ячейки, то записывается какое то другое значение.
А когда поднимаешь предмет, то проверяешь ячейку на другое значение.
В твоём примере посмотреть не могу, у меня только поднимаются предметы, перекладывать в другие ячейки их не получается(они просто пропадают).
Quad69Дата: Воскресенье, 04 Октября 2015, 22:04 | Сообщение # 188 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
Проверь как ложится предмет. Должно быть примерно так:
Если (в нужной ячейке значение равно ''), то....

Добавлено (04 октября 2015, 22:04)
---------------------------------------------
Или ошибка новая выскакивает?

Quad69Дата: Воскресенье, 04 Октября 2015, 19:44 | Сообщение # 189 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
Просто добавляешь эти новые клетки в массив и array_length_2d вернёт другое значение.
Quad69Дата: Воскресенье, 04 Октября 2015, 19:07 | Сообщение # 190 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
Цитата Интернет ()
только за что отвечает сторчка if mousx>array_length_2d(naimen_ob,mousx) or mousy>array_length_2d(naimen_ob,mousy)

Код
mousx=floor((mouse_x-x)/sprite_height);
mousy=floor((mouse_y-y)/sprite_width);

Твой код выше без проверки.
Даже если мышка будет внизу экрана, оно вернёт значение, а так как такого значения в массиве нет, выдаёт ошибку.

Функция array_length_2d вроде бы возвращает кол-во индексов в массиве, если хочешь узнать по подробнее, глянь справку.


Сообщение отредактировал maksim1221232 - Воскресенье, 04 Октября 2015, 19:07
Quad69Дата: Воскресенье, 04 Октября 2015, 17:37 | Сообщение # 191 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
Ошибку в o_ini В Нажатии мыши исправил.
Вот код:
Код
with(other)
     {
    mousx=floor((mouse_x-x)/sprite_height);// вычисляем координаты курсора по х и записываем их в переменную
    mousy=floor((mouse_y-y)/sprite_width);// вычисляем координаты курсора по y и записываем их в переменную
    if mousx>array_length_2d(naimen_ob,mousx) or mousy>array_length_2d(naimen_ob,mousy) {exit;}
         {
        if (naimen_ob[mousx,mousy]!='')//если в координатах курсора массив пустой то
             {
             stak_ob[mousx,mousy]-=1// отнимаем 1 единицу от стака объектов только в этой ячейки массива  
             if (stak_ob[mousx,mousy]=0){
               naimen_ob[mousx,mousy]=''}
             }}}
Quad69Дата: Воскресенье, 04 Октября 2015, 14:24 | Сообщение # 192 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
Глянь ка сюда, у тебя где !=" одна ковычка, добавь вторую и проверь.
Цитата Интернет ()
if naimen_ob[mousx,mousy]!=''


Quad69Дата: Суббота, 03 Октября 2015, 23:51 | Сообщение # 193 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
Цитата Интернет ()
Push :: Execution Error - Variable Index [5,2] out of range [5,-1] - -1.naimen_ob(100004,160002)
at gml_Object_o_ini_GlobalLeftButtonPressed_1 (line 3) - if naimen_ob[mousx,mousy]!=''{

Вроде бы тут ты пытаешься обратится к к массиву которого нету(или с индексом что то не так)
Цитата Интернет ()
if naimen_ob[mousx,mousy]!=


Проверь свой код, если ошибок не найдёшь, то кинь его сюда(вдруг что нибуть найду)
Quad69Дата: Суббота, 03 Октября 2015, 22:47 | Сообщение # 194 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
Поставь проверку, если мышка в месте где находится инвентарь, то выполняется нужный код, иначе нет.
Вот примерный код.
Код
if (mouse_x>0 && mouse_x<32 && mouse_y>0 && mouse_y<32)
Quad69Дата: Суббота, 03 Октября 2015, 21:24 | Сообщение # 195 | Тема: Как сделать чтоб действие выполнялось при столкновении ?
заслуженный участник
Сейчас нет на сайте
Расскажи по подробнее.

Добавлено (03 октября 2015, 21:24)
---------------------------------------------
Теперь понял.
Создай событие будильника и напиши в него код

Код
//любой комментарий.....

При событии столкновении такой код:
Код
if alarm[номер_будильника]=-1
{
...
Любой код
...
alarm[номер_будильника]=3
}

if alarm[номер_будильника]=1
{
alarm[номер_будильника]=3
}
Quad69Дата: Суббота, 03 Октября 2015, 18:17 | Сообщение # 196 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
Цитата Интернет ()
происходит ошибка

Какая?
Кидай её сюда.
Quad69Дата: Суббота, 03 Октября 2015, 18:15 | Сообщение # 197 | Тема: Как сделать чтоб действие выполнялось при столкновении ?
заслуженный участник
Сейчас нет на сайте
Create:
Код
col=0

В событии столкновении:
Код
if col=0
{

Любой код....

col=1
}
Quad69Дата: Пятница, 02 Октября 2015, 23:26 | Сообщение # 198 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
Пробуй поставить событие глобальное нажатие левой кнопки мыши.
Quad69Дата: Пятница, 02 Октября 2015, 22:08 | Сообщение # 199 | Тема: Не работает проверка массива в координатах курсора.
заслуженный участник
Сейчас нет на сайте
В каком событии этот код?
Quad69Дата: Четверг, 01 Октября 2015, 17:16 | Сообщение # 200 | Тема: Game Maker, PHP программист ищет команду
заслуженный участник
Сейчас нет на сайте
Ап
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг