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 |
был не раз
Сейчас нет на сайте
| Исходник скинуть не могу, но скину код, может поможет. Сразу прошу прощения за свой быдло код
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 рисует иконку юнита только если он выбран. Эта иконка рисуетса только у экземпляра который создается первым Также если поможет, сушествует obj_ucont который является родителем obj_unit_1, у него в криэйте находится selected=false.
|
|
| |
Krosos | Дата: Понедельник, 29 Июля 2013, 22:35 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| А , я кажется понял , у меня была подобная проблема=) Глянь тут Кликни сюда
Мой проект
|
|
| |
Dr_Bond | Дата: Понедельник, 29 Июля 2013, 22:55 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Спасибо Просто переписал код из obj_hud в obj_unit_1 и все заработало. С меня плюс
|
|
| |