Понедельник, 06 Мая 2024, 06:11

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Экземпляры объекта
Экземпляры объекта
Dr_BondДата: Понедельник, 29 Июля 2013, 14:58 | Сообщение # 1
был не раз
Сейчас нет на сайте
Здрастввуйте игроделы.У меня возникла проблема, поэтому вынужден попросить у вас помощи.
Проблема состоит в том, что у меня есть переменная, есть объект юнита и много его экземпляров.
Когда я пытаюсь поменять переменную, то она меняется только у того экземпляра объекта,
которий создается первым.
Никак не могу понять в чем проблема:(
KrososДата: Понедельник, 29 Июля 2013, 16:22 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Как это выглядит?д
А то не очень понятно , как ты действуешь.





Мой проект
lisiyrakДата: Понедельник, 29 Июля 2013, 17:33 | Сообщение # 3
Hero of bacon
Сейчас нет на сайте
Dr_Bond, пришли исходник, я попробую разобраться.

KEKW
Dr_BondДата: Понедельник, 29 Июля 2013, 22:05 | Сообщение # 4
был не раз
Сейчас нет на сайте
Исходник скинуть не могу, но скину код, может поможет.
Сразу прошу прощения за свой быдло код biggrin

obj_unit_1-объект который имеет множество экземпляров
Step:
if distance_to_point(gox,goy) > 20 and distance_to_object(obj_enp)>100
{
mp_potential_step(gox,goy,4,true);
iangle=point_direction(x,y,gox,goy)
}
if(selected=true) && mouse_check_button_pressed(mb_right) and distance_to_object(obj_enp)>100
{
gox=mouse_x;
goy=mouse_y;



}

if obj_player.on_line=0{selected=false};
if selected=true{sel=1 i_cr=1};
if selected=false{i_cr=0};
if instance_exists(obj_enp)
{

if distance_to_object(instance_nearest(x,y,obj_enp))<100 and distance_to_object(instance_nearest(x,y,obj_enp))>6
{
{ iangle=point_direction(x,y,instance_nearest(x,y,obj_enp).x,instance_nearest(x,y,obj_enp).y);
mp_potential_step(instance_nearest(x,y,obj_enp).x,instance_nearest(x,y,obj_enp).y,4,true)
}}

if distance_to_object(instance_nearest(x,y,obj_enp))<10
{
speed=0;
}
}
if timer<0{atack=1 timer=room_speed/1/6};
if i_cr=1{u_icon=string(1)}else{u_icon=0}

obj_hud
Step:
glob_icon=string(string(obj_unit_1.u_icon)+string(obj_unit_2.u_icon)+string(obj_unit_3.u_icon))
if glob_icon='100'{u1=1};
if glob_icon='020'{u1=2};
if glob_icon='003'{u1=3};
if glob_icon='000'{u1=0};

Create:
u1=0
u2=0
u3=0
u4=0
u5=0
u6=0
glob_icon=0

Draw:
if u1=1{draw_sprite(spr_icon_u1,1,view_xview[1]+50,view_yview[1]+550)};
if u1=2{draw_sprite(spr_icon_u2,1,view_xview[1]+50,view_yview[1]+550)};
if u1=3{draw_sprite(spr_icon_u3,1,view_xview[1]+50,view_yview[1]+550)};

Проблема в том что переменная obj_unit_1.u_icon должна менятся на u_icon=string(1), и тогда obj_hud рисует
иконку юнита только если он выбран.
Эта иконка рисуетса только у экземпляра который создается первым sad
Также если поможет, сушествует obj_ucont который является родителем obj_unit_1,
у него в криэйте находится selected=false.
KrososДата: Понедельник, 29 Июля 2013, 22:35 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
А , я кажется понял , у меня была подобная проблема=)
Глянь тут Кликни сюда





Мой проект
Dr_BondДата: Понедельник, 29 Июля 2013, 22:55 | Сообщение # 6
был не раз
Сейчас нет на сайте
Спасибо biggrin
Просто переписал код из obj_hud в obj_unit_1 и все заработало.
С меня плюс happy
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Экземпляры объекта
  • Страница 1 из 1
  • 1
Поиск:

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