Пятница, 22 Ноября 2024, 00:53

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
ИнтернетДата: Пятница, 14 Июля 2017, 00:05 | Сообщение # 21 | Тема: Вид Карты
постоянный участник
Сейчас нет на сайте
Цитата KiteKat ()
f view_visible[1]{
background_visible=true;
view_visible[1]=false
}

Интересно как это работает!?

Цитата KiteKat ()
прочел что языку GML учатся 2 -3 года... видать долго ещё буду вникать :( эхх...

Эм..... откуда такие точные данные?? А вдруг на час больше или меньше B)

Если хочешь чтобы объект отображал свой спрайт пока view_visible[1]=true то пиши примерно вот так.
Код
if view_visible[1]=true
   {draw_sprite(sprite_index,0,x,y)}


P.s можешь ещё с view_current по мухлевать


Сообщение отредактировал Интернет - Пятница, 14 Июля 2017, 00:40
ИнтернетДата: Четверг, 13 Июля 2017, 18:40 | Сообщение # 22 | Тема: Вид Карты
постоянный участник
Сейчас нет на сайте
Вот
ИнтернетДата: Среда, 12 Июля 2017, 20:55 | Сообщение # 23 | Тема: fog of war или АНАЛОГИ "тумана войны" -
постоянный участник
Сейчас нет на сайте
Цитата KiteKat ()
знали бы вы какая у меня комната оргомная..ууу))) там замучаешься ставить черные квадраты =)

Во всех возможных вариантах пытайся добиться того, чтобы программа "сама всё делала за тебя".
Грубо говоря: есть у тебя 7 домов, которые должны стоять в линию, зачем их ставить самому, если же можно заставить это делать программу.


Сообщение отредактировал Интернет - Среда, 12 Июля 2017, 21:02
ИнтернетДата: Среда, 12 Июля 2017, 20:48 | Сообщение # 24 | Тема: Вид Карты
постоянный участник
Сейчас нет на сайте
Может проще попробовать реализовать через сурфейс?
Но с передвижением юнитов по миникарте придётся повозиться.


Сообщение отредактировал Интернет - Среда, 12 Июля 2017, 20:49
ИнтернетДата: Вторник, 11 Июля 2017, 00:17 | Сообщение # 25 | Тема: Вид Карты
постоянный участник
Сейчас нет на сайте
Ну правильно, панель же двигается в комнате, а миникарта, как я понимаю, реализована просто растяжением 2-ого вида на всю комнату, следовательно все передвижения объектов в ней видны. 1-ый же вид это типо только видимая часть комнаты.
Вывод: изменить принцип работы миникарты.
P.s Просто отрисовывай голубой прямоугольник только в 1-ом виде.



Сообщение отредактировал Интернет - Вторник, 11 Июля 2017, 00:24
ИнтернетДата: Воскресенье, 09 Июля 2017, 22:46 | Сообщение # 26 | Тема: Вид Карты
постоянный участник
Сейчас нет на сайте
Ну не зря же я это делал, дерзай.
По 3-ому пункту. пример передвижения вида в место клика
ИнтернетДата: Воскресенье, 09 Июля 2017, 19:46 | Сообщение # 27 | Тема: Вид Карты
постоянный участник
Сейчас нет на сайте
По 2-ому пункту приходит в голову самый примитивный вариант решения проблемы.
Код
var; speed_dwig=5
switch(keyboard_key)
   {
case ord('W'): view_yview[0]+=speed_dwig break
case ord('A'): view_xview[0]-=speed_dwig break
case ord('D'): view_xview[0]+=speed_dwig break
case ord('S'): view_yview[0]-=speed_dwig break
   }

Дальше доводи до ума.


Сообщение отредактировал Интернет - Воскресенье, 09 Июля 2017, 19:55
ИнтернетДата: Воскресенье, 09 Июля 2017, 19:02 | Сообщение # 28 | Тема: Движение в TBS (GMaker)
постоянный участник
Сейчас нет на сайте
Цитата
Скорость комнаты - это количество действий, которые делаются в секунду.

Таким образом ты замедляешь выполнение всего кода в игре.
P.s получается "эффект лагов"
Цитата
if keyboard_check_pressed(vk_space)=4

blink
Эта функция возвращает true если клавиша нажата и false если отпущена.
У тебя получается true=4 or false=4 это вообще как??


Сообщение отредактировал Интернет - Воскресенье, 09 Июля 2017, 19:07
ИнтернетДата: Суббота, 08 Июля 2017, 20:23 | Сообщение # 29 | Тема: Движение за объектом
постоянный участник
Сейчас нет на сайте
Цитата foxed ()
У меня есть объект, который двигается за мышкой

?
Может эффект движения происходит из-за отставания?
Поробуй End Step


Сообщение отредактировал Интернет - Суббота, 08 Июля 2017, 20:25
ИнтернетДата: Суббота, 08 Июля 2017, 00:15 | Сообщение # 30 | Тема: Определение наименьшего значения массива.
постоянный участник
Сейчас нет на сайте
Допустим у нас есть массив mass[iy], индекс которого, позиция объекта в сетке по y, а значение id этого объекта.
Код
for(iy=32;iy<128;iy+=32)
    {
mass[iy]=0

   with(other)
            {
             blis=instance_position(x,y,setka)
             pos_y=blis.y
             nomer=instance_position(blis.x,blis.y,ob)
             other.mass[pos_y]=nomer
             }
     }

Так вот, грубо говоря, после этого у нас есть массив с id объекта и его координатами по y в сетке
mass[32]=100001
mass[64]=100002.... и тд.
Мне нужно найти наименьшее значение из этих массивов.
Сначала подумал сделать вот так.
Код
for(iy=32;iy<128;iy+=32)
    {
var; minim=min(mass[iy])
     }

Но получается фигня.

Что не кто не знает?


Сообщение отредактировал Интернет - Воскресенье, 09 Июля 2017, 14:56
ИнтернетДата: Среда, 05 Июля 2017, 18:25 | Сообщение # 31 | Тема: Движение в TBS (GMaker)
постоянный участник
Сейчас нет на сайте
Вот тебе в л.с GM8.1 проверенный. (сам начинал с него)

P.s


Сообщение отредактировал Интернет - Среда, 05 Июля 2017, 18:30
ИнтернетДата: Среда, 05 Июля 2017, 15:16 | Сообщение # 32 | Тема: Движение в TBS (GMaker)
постоянный участник
Сейчас нет на сайте
Цитата KiteKat ()
мейкере версии 8.0 ?

Нету
ИнтернетДата: Среда, 05 Июля 2017, 14:00 | Сообщение # 33 | Тема: Движение в TBS (GMaker)
постоянный участник
Сейчас нет на сайте
Мда........ Вопросов по проекту много, но задам только 1.
Зачем скорость комнаты на 5???
Вот
Дальше сам додумаешь.
Цитата
Unknown variable kolis

Неужели сам не понял?


Сообщение отредактировал Интернет - Среда, 05 Июля 2017, 14:09
ИнтернетДата: Среда, 05 Июля 2017, 01:20 | Сообщение # 34 | Тема: Движение в TBS (GMaker)
постоянный участник
Сейчас нет на сайте
Вот, решит твои проблемы.
Код
if (kolis<3)//ограничение шагов
       {
  if ogran=1//ограничение нажатия
           {
switch(keyboard_key)
              {
case vk_right:    {x+=70 ogran=0 }break
case vk_left:      {x-=70 ogran=0 }break
case vk_up:       {y-=70 ogran=0 }break
case vk_down:   {y+=70 ogran=0 }break
              }
          }
     }
if ogran=0 and keyboard_check_released(keyboard_key)
             {
kolis++
alarm[0]=5//задержка перед следующим ходом
ogran=2
             }


Сообщение отредактировал Интернет - Среда, 05 Июля 2017, 01:32
ИнтернетДата: Понедельник, 03 Июля 2017, 22:31 | Сообщение # 35 | Тема: Движение в TBS (GMaker)
постоянный участник
Сейчас нет на сайте
Что за %)
Зачем деактивировать объект только ради его остановки?
Это, вот, интересно как работает?
Код
move=x*2
move=y*2
x=70
y=70
if move <=0
{
instance_deactivate_object(man)
}
move-=1


Код
ix=x*2
iy=y*2
move[ix,iy]=/нужное значение/


Сообщение отредактировал Интернет - Понедельник, 03 Июля 2017, 22:39
ИнтернетДата: Воскресенье, 02 Июля 2017, 00:48 | Сообщение # 36 | Тема: Движение в TBS (GMaker)
постоянный участник
Сейчас нет на сайте
Цитата KiteKat ()
на определённое количество клеток?

Создай массив и будет легко.
kletka[px,py]- где px - позиция квадратика по х (в сетке), а py - позиция квадратика по y (в сетке)


Сообщение отредактировал Интернет - Воскресенье, 02 Июля 2017, 00:49
ИнтернетДата: Суббота, 01 Июля 2017, 13:53 | Сообщение # 37 | Тема: Определение id объекта в определённой области другого.
постоянный участник
Сейчас нет на сайте
Спасибо. Заработало.

Сообщение отредактировал Интернет - Суббота, 01 Июля 2017, 14:16
ИнтернетДата: Суббота, 01 Июля 2017, 10:45 | Сообщение # 38 | Тема: Определение id объекта в определённой области другого.
постоянный участник
Сейчас нет на сайте

Скорее всего я не очень корректно задал вопрос.
Вот в таком случае, как на рисунке, переменная должна принимать значение id экземпляров с которыми столкнулся круг, в данном случае с 1 и 2, а получается так, что пока столкновение с прошлым не завершено переменная не меняется.
Вот кусок кода.
В Create круга
Код
id_setka=instance_nearest(x,y,setka_1)

В Step круга
Код
with(o_control){
for(ix=x_n;ix<dlina_setki;ix+=96){
for(iy=y_n;iy<600;iy+=145){
with(other){
if place_meeting(x,y,id_setka){
x_ob=id_setka.x
y_ob=id_setka.y
other.index_sosd[x_ob,y_ob]=name
other.sanet[x_ob,y_ob]=1
}
else{
id_setka=instance_position(x,y,setka_1)
other.index_sosd[x_ob,y_ob]=''
other.sanet[x_ob,y_ob]=0}
}}
}}

Скорее всего id нужно записывать в массив, но в какой.


Сообщение отредактировал Интернет - Суббота, 01 Июля 2017, 11:00
ИнтернетДата: Пятница, 30 Июня 2017, 22:53 | Сообщение # 39 | Тема: Определение id объекта в определённой области другого.
постоянный участник
Сейчас нет на сайте
Есть два объекта: круг, квадрат.
Мне нужно, чтобы определялся id квадрата пока в нём находится круг, при этом круг может двигаться как направо так и налево.
Пробовал двумя способами.
Код
//'В круге'// if place_messing(x,y,o_kwadr){id_n=instance_nearest(x,y,o_kwadr)}

Но при этом id не определяется, если круг вышел из квадрата, как показано на рисунке.

И ещё способ.
Код
//'В круге'//  
for(m=0;m<48;m++){
if collision_rectangle(x+m,y-m,x-m,y+m,o_kwadr,0,0){
id_n=instance_nearest(x,y,o_kwadr)}}

Получается то же самое.
Как добиться того чтобы id определялся до последнего пикселя. Какие ещё есть способы получить id.
Ещё можно collision_circle, но спрайт может быть не правильной формы, при этом не больше квадрата.
p.s спрайт квадрата 92/92


Сообщение отредактировал Интернет - Пятница, 30 Июня 2017, 22:59
ИнтернетДата: Суббота, 24 Июня 2017, 14:43 | Сообщение # 40 | Тема: Нумерация экземпляров объекта спомощью цикла.
постоянный участник
Сейчас нет на сайте
Есть экземпляры, расставленные с применением цикла for, нужно их пронумеровать как показано на рисунке.

Вроде кажется просто, но я туплю. Думается мне, что списки использовать нужно. Я должен получить доступ к экземпляру под любым номером, когда нужно.


Сообщение отредактировал Интернет - Суббота, 24 Июня 2017, 14:51
Поиск:

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