pangrodzki
Member
Event Draw GUI, o_MiniMap
Room 5000x5000, 30 objects in GM
Create
I have some problems with fps - sometimes when I activate healthbars and names - it goes near 10. But when I deactivate code with "if" I can run game without obstacles on map. But I need theese obstacles... Because they have meaning in game.
So what can I do with minimap? How to write this code? I like this type of minimap.What is the problem? Number of instances or my code in draw GUI event? Maybe both?
Room 5000x5000, 30 objects in GM
Code:
if background_index=background0 or background_index=2{
draw_set_color(c_white)
draw_set_alpha(0.90)
draw_rectangle(xp,yp,xp+width,yp+height,false)
draw_set_alpha(0.80)
draw_set_color(c_white)}else{
draw_set_color(c_black)
draw_set_alpha(0.90)
draw_rectangle(xp,yp,xp+width,yp+height,false)
draw_set_alpha(0.80)
draw_set_color(c_black)
}
xp= 1150
yp= 450
draw_set_color(c_blue)
var enemyCount;
enemyCount=instance_number(object2)
for (k=0; k<enemyCount;k=k+1){
enemyId=instance_find(object2, k)
var wherex= xp + enemyId.x*(xscale)
var wherey= yp + enemyId.y*(yscale)
draw_circle(wherex,wherey,4,true)
}
draw_set_color(c_red)
var enemyCount2;
enemyCount2=instance_number(object3)
for (k=0; k<enemyCount2;k=k+1){
enemy2Id=instance_find(object3, k)
var wherex2= xp + enemy2Id.x*(xscale)
var wherey2= yp + enemy2Id.y*(yscale)
draw_circle(wherex2,wherey2,4,true)
}
draw_set_color(c_yellow)
var diament;
diament=instance_number(object7)
for (k=0; k<diament;k=k+1){
diamentId=instance_find(object7, k)
var wherex3= xp + diamentId.x*(xscale)
var wherey3= yp + diamentId.y*(yscale)
draw_circle(wherex3,wherey3,4,false)
}
draw_set_color(c_yellow)
var punkty;
punkty=instance_number(object10)
for (k=0; k<punkty;k=k+1){
punktyId=instance_find(object10, k)
var wherex4= xp + punktyId.x*(xscale)
var wherey4= yp + punktyId.y*(yscale)
draw_circle(wherex4,wherey4,4,false)
}
draw_set_color(c_white)
var budynek;
budynek=instance_number(oBudynek)
for (k=0; k<budynek;k=k+1){
budynekId=instance_find(oBudynek, k)
//if global.wybraniec.gracz=1{with(o_MiniMap){draw_set_color(c_red)}}else if global.wybraniec.gracz=2{with(o_MiniMap){draw_set_color(c_blue)}}
//with (budynekId){
//if gracz=1{}else if gracz=2{}
//}
var wherex5= xp + budynekId.x*(xscale)
var wherey5= yp + budynekId.y*(yscale)
draw_circle(wherex5,wherey5,4,false)
}
draw_set_color(c_orange)
var twierdza;
twierdza=instance_number(object12)
for (k=0; k<twierdza;k=k+1){
twierdzaId=instance_find(object12, k)
var wherex6= xp + twierdzaId.x*(xscale)
var wherey6= yp + twierdzaId.y*(yscale)
draw_circle(wherex6,wherey6,4,false)
}
if global.gracz_tura=1{
if view_object[0]=object3{
draw_set_color(c_red)
var kursor;
kursor=instance_number(object3)
for (k=0; k<kursor;k=k+1){
kursorId=instance_find(object3, k)
var wherex7= xp + kursorId.x*(xscale)
var wherey7= yp + kursorId.y*(yscale)
draw_circle(wherex7,wherey7,4,true)
}
}else{
draw_set_color(c_red)
var gracz;
gracz=instance_number(object5)
for (k=0; k<gracz;k=k+1){
graczId=instance_find(object5, k)
var wherex8= xp + graczId.x*(xscale)
var wherey8= yp + graczId.y*(yscale)
draw_circle(wherex8,wherey8,50,true)
}
}}
else if global.gracz_tura=2{
if view_object[0]=object2{
draw_set_color(c_blue)
var kursor2;
kursor2=instance_number(object2)
for (k=0; k<kursor2;k=k+1){
kursor2Id=instance_find(object2, k)
var wherex9= xp + kursor2Id.x*(xscale)
var wherey9= yp + kursor2Id.y*(yscale)
draw_circle(wherex9,wherey9,4,true)
}
}else{
draw_set_color(c_blue)
var gracz2;
gracz2=instance_number(object5)
for (k=0; k<gracz2;k=k+1){
gracz2Id=instance_find(object5, k)
var wherex10= xp + gracz2Id.x*(xscale)
var wherey10= yp + gracz2Id.y*(yscale)
draw_circle(wherex10,wherey10,50,true)
}
}}
if background_index=background1{
draw_set_color(c_dkgray)
var mur;
mur=instance_number(object0)
for (k=0; k<mur;k=k+1){
murId=instance_find(object0, k)
var wherex11= xp + murId.x*(xscale)
var wherey11= yp + murId.y*(yscale)
draw_circle(wherex11,wherey11,4,false)
}
draw_set_color(c_dkgray)
var mur2;
mur2=instance_number(object15)
for (k=0; k<mur2;k=k+1){
mur2Id=instance_find(object15, k)
var wherex12= xp + mur2Id.x*(xscale)
var wherey12= yp + mur2Id.y*(yscale)
draw_circle(wherex12,wherey12,4,false)
}
//draw_set_color(c_dkgray)
var mur3;
mur3=instance_number(object28)
for (k=0; k<mur3;k=k+1){
mur3Id=instance_find(object28, k)
var wherex13= xp + mur3Id.x*(xscale)
var wherey13= yp + mur3Id.y*(yscale)
draw_circle(wherex13,wherey13,4,false)
}
//draw_set_color(c_dkgray)
var mur4;
mur4=instance_number(object26)
for (k=0; k<mur4;k=k+1){
mur4Id=instance_find(object26, k)
var wherex14= xp + mur4Id.x*(xscale)
var wherey14= yp + mur4Id.y*(yscale)
draw_circle(wherex14,wherey14,4,false)
}
//draw_set_color(c_dkgray)
var mur5;
mur5=instance_number(object20)
for (k=0; k<mur5;k=k+1){
mur5Id=instance_find(object20, k)
var wherex15= xp + mur5Id.x*(xscale)
var wherey15= yp + mur5Id.y*(yscale)
draw_circle(wherex15,wherey15,4,false)
}
//draw_set_color(c_dkgray)
var mur6;
mur6=instance_number(object19)
for (k=0; k<mur6;k=k+1){
mur6Id=instance_find(object19, k)
var wherex16= xp + mur6Id.x*(xscale)
var wherey16= yp + mur6Id.y*(yscale)
draw_circle(wherex16,wherey16,4,false)
}
}else{
draw_set_color(c_black)
var mur;
mur=instance_number(object0)
for (k=0; k<mur;k=k+1){
murId=instance_find(object0, k)
var wherex17= xp + murId.x*(xscale)
var wherey17= yp + murId.y*(yscale)
draw_circle(wherex17,wherey17,4,false)
}
draw_set_color(c_black)
var mur7;
mur7=instance_number(object15)
for (k=0; k<mur7;k=k+1){
mur7Id=instance_find(object15, k)
var wherex18= xp + mur7Id.x*(xscale)
var wherey18= yp + mur7Id.y*(yscale)
draw_circle(wherex18,wherey18,4,false)
}
//draw_set_color(c_black)
var mur8;
mur8=instance_number(object28)
for (k=0; k<mur8;k=k+1){
mur8Id=instance_find(object28, k)
var wherex19= xp + mur8Id.x*(xscale)
var wherey19= yp + mur8Id.y*(yscale)
draw_circle(wherex19,wherey19,4,false)
}
//draw_set_color(c_black)
var mur9;
mur9=instance_number(object26)
for (k=0; k<mur9;k=k+1){
mur9Id=instance_find(object26, k)
var wherex20= xp + mur9Id.x*(xscale)
var wherey20= yp + mur9Id.y*(yscale)
draw_circle(wherex20,wherey20,4,false)
}
//draw_set_color(c_black)
var mur10;
mur10=instance_number(object20)
for (k=0; k<mur10;k=k+1){
mur10Id=instance_find(object20, k)
var wherex21= xp + mur10Id.x*(xscale)
var wherey21= yp + mur10Id.y*(yscale)
draw_circle(wherex21,wherey21,4,false)
}
//draw_set_color(c_black)
var mur11;
mur11=instance_number(object19)
for (k=0; k<mur11;k=k+1){
mur11Id=instance_find(object19, k)
var wherex22= xp + mur11Id.x*(xscale)
var wherey22= yp + mur11Id.y*(yscale)
draw_circle(wherex22,wherey22,4,false)
}
}
draw_set_color(c_blue)
var baza;
baza=instance_number(object13)
for (k=0; k<baza;k=k+1){
bazaId=instance_find(object13, k)
var wherex23= xp + bazaId.x*(xscale)
var wherey23= yp + bazaId.y*(yscale)
draw_circle(wherex23,wherey23,8,false)
}
draw_set_color(c_red)
var baza2;
baza2=instance_number(object23)
for (k=0; k<baza2;k=k+1){
baza2Id=instance_find(object23, k)
var wherex24= xp + baza2Id.x*(xscale)
var wherey24= yp + baza2Id.y*(yscale)
draw_circle(wherex24,wherey24,8,false)
}
draw_set_color(c_lime)
var mur13;
mur13=instance_number(object30)
for (k=0; k<mur13;k=k+1){
mur13Id=instance_find(object30, k)
var wherex25= xp + mur13Id.x*(xscale)
var wherey25= yp + mur13Id.y*(yscale)
draw_circle(wherex25,wherey25,4,false)
}
draw_set_color(c_lime)
var mur14;
mur14=instance_number(object25)
for (k=0; k<mur14;k=k+1){
mur14Id=instance_find(object25, k)
var wherex26= xp + mur14Id.x*(xscale)
var wherey26= yp + mur14Id.y*(yscale)
draw_circle(wherex26,wherey26,4,false)
}
Code:
xp=0;
yp=0;
//height=300
//width=300
height=450
width=450
global.pokazuje=true
xscale=width/room_width
yscale=height/room_height
So what can I do with minimap? How to write this code? I like this type of minimap.What is the problem? Number of instances or my code in draw GUI event? Maybe both?
Attachments
-
245.6 KB Views: 19
Last edited: