Помогите с D3D (GM8)
| |
TeaILS | Дата: Воскресенье, 14 Января 2024, 11:20 | Сообщение # 1 |
уже был
Сейчас нет на сайте
| Код var HP1; var HP2; HP1 = sprite_get_texture(sprite326,image_index) HP2 = sprite_get_texture(sprite325,image_index) if !variable_local_exists("z") z = 0; var tex_shape_1; tex_shape_1 = ruin;
version = 1.68; // 3d Animator version var tex,curcolor,curalpha; curcolor = draw_get_color(); curalpha = draw_get_alpha(); // shape 1 tex = background_get_texture(tex_shape_1); draw_set_color(c_white); draw_set_alpha(1); d3d_transform_set_identity(); d3d_transform_set_rotation_z(direction) d3d_transform_add_translation(x,y,z); d3d_draw_block(1,-2,40,40,2,35,HP1,1,1); d3d_draw_block(1,-2,40,HPBAR,2,35,HP2,1,1); d3d_transform_set_identity(); draw_set_color(curcolor); draw_set_alpha(curalpha); // end draw event code
все работает идеально кроме того что полоска сдвинута вправо, как только я ее двигаю влево она смещается еще и на Y будто, и начинает крутится не по середине а от края
|
|
| |
martuk | Дата: Воскресенье, 14 Января 2024, 14:48 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Я думаю проблема в функции d3d_transform_add_translation Попробуй использовать отрицательные значения для x и y, чтобы переместить полосу ближе к центру. попробуй вот на это заменить d3d_transform_add_translation(-20 + 40/2, -2 + 35/2, z);
Если не получится, то попробуй изменить сразу эти две строчки: d3d_draw_block(1,-2,40,40,2,35,HP1,1,1); d3d_draw_block(1,-2,40,HPBAR,2,35,HP2,1,1); на вот это: d3d_draw_block(0, 0, 40, 40, 2, 35, HP1, 1, 1); d3d_draw_block(0, 0, 40, HPBAR, 2, 35, HP2, 1, 1);
без визуала конечно сложно, не могу сам протестировать
|
|
| |
|