Skocz do zawartości

drzewa


szpaq99

Rekomendowane odpowiedzi

drzewa akurat prosto odizolować od silnika bo jedyne co je przy nim trzyma to pozycja w układzie fizycznym. Ale masz tu kod takiego drzewka bez xenona:

 

GML (Create)
// zmienne

z=32

sprite_index=spr_tree

shadow_index=spr_tree_shadow

sprite_set_alpha_from_sprite(shadow_index,mask_tree_shadow)

image_speed=0

image_index=floor(random(sprite_get_number(sprite_index)))

 

// zmienne stanu gałęzi

scale=1

angle1=0

angle2=0

angle3=0

angle4=0

step=0

rate=3

rot=2.5

factor1=1+random(1)

factor2=1+random(1)

factor3=1+random(1)

factor4=1+random(1)

sdir=-45

slen=z

 

GML (Step)
// operaccje na gałęziach

step+=rate

angle1=sin(degtorad(step*factor1))*rot

angle2=sin(degtorad(step*factor2))*rot

angle3=sin(degtorad(step*factor3))*rot

angle4=sin(degtorad(step*factor4))*rot

 

GML (Draw)
// rysowanie drzewa metoda primitiwow

_d=sqrt(power(sprite_get_width(sprite_index),2)+power(sprite_get_height(sprite_index),2))/2*scale

svx=lengthdir_x(slen,sdir)

svy=lengthdir_y(slen,sdir)

// shadow

draw_set_color(c_black)

draw_set_alpha(0.6)

draw_primitive_begin_texture(pr_trianglelist,sprite_get_texture(shadow_index,image_index))

draw_vertex_texture(svx+x,svy+y,0.5,0.5)

draw_vertex_texture(svx+x+lengthdir_x(_d,angle1+image_angle+45+90),svy+y+lengthdir_y(_d,angle1+image_angle+45+90),0,0)

draw_vertex_texture(svx+x+lengthdir_x(_d,angle2+image_angle+45+90-90),svy+y+lengthdir_y(_d,angle2+image_angle+45+90-90),1,0)

draw_vertex_texture(svx+x,svy+y,0.5,0.5)

draw_vertex_texture(svx+x+lengthdir_x(_d,angle2+image_angle+45+90-90),svy+y+lengthdir_y(_d,angle2+image_angle+45+90-90),1,0)

draw_vertex_texture(svx+x+lengthdir_x(_d,angle3+image_angle+45+90-180),svy+y+lengthdir_y(_d,angle3+image_angle+45+90-180),1,1)

draw_vertex_texture(svx+x,svy+y,0.5,0.5)

draw_vertex_texture(svx+x+lengthdir_x(_d,angle3+image_angle+45+90-180),svy+y+lengthdir_y(_d,angle3+image_angle+45+90-180),1,1)

draw_vertex_texture(svx+x+lengthdir_x(_d,angle4+image_angle+45+90-270),svy+y+lengthdir_y(_d,angle4+image_angle+45+90-270),0,1)

draw_vertex_texture(svx+x,svy+y,0.5,0.5)

draw_vertex_texture(svx+x+lengthdir_x(_d,angle4+image_angle+45+90-270),svy+y+lengthdir_y(_d,angle4+image_angle+45+90-270),0,1)

draw_vertex_texture(svx+x+lengthdir_x(_d,angle1+image_angle+45+90),svy+y+lengthdir_y(_d,angle1+image_angle+45+90),0,0)

draw_primitive_end()

// object

draw_set_color(c_white)

draw_set_alpha(1)

draw_primitive_begin_texture(pr_trianglelist,sprite_get_texture(sprite_index,image_index))

draw_vertex_texture(x,y,0.5,0.5)

draw_vertex_texture(x+lengthdir_x(_d,angle1+image_angle+45+90),y+lengthdir_y(_d,angle1+image_angle+45+90),0,0)

draw_vertex_texture(x+lengthdir_x(_d,angle2+image_angle+45+90-90),y+lengthdir_y(_d,angle2+image_angle+45+90-90),1,0)

draw_vertex_texture(x,y,0.5,0.5)

draw_vertex_texture(x+lengthdir_x(_d,angle2+image_angle+45+90-90),y+lengthdir_y(_d,angle2+image_angle+45+90-90),1,0)

draw_vertex_texture(x+lengthdir_x(_d,angle3+image_angle+45+90-180),y+lengthdir_y(_d,angle3+image_angle+45+90-180),1,1)

draw_vertex_texture(x,y,0.5,0.5)

draw_vertex_texture(x+lengthdir_x(_d,angle3+image_angle+45+90-180),y+lengthdir_y(_d,angle3+image_angle+45+90-180),1,1)

draw_vertex_texture(x+lengthdir_x(_d,angle4+image_angle+45+90-270),y+lengthdir_y(_d,angle4+image_angle+45+90-270),0,1)

draw_vertex_texture(x,y,0.5,0.5)

draw_vertex_texture(x+lengthdir_x(_d,angle4+image_angle+45+90-270),y+lengthdir_y(_d,angle4+image_angle+45+90-270),0,1)

draw_vertex_texture(x+lengthdir_x(_d,angle1+image_angle+45+90),y+lengthdir_y(_d,angle1+image_angle+45+90),0,0)

draw_primitive_end()

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...