Skocz do zawartości

Ice Cube

Użytkownicy
  • Postów

    208
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    2

Odpowiedzi opublikowane przez Ice Cube

  1. Hej korzystam z takiego fajnego prostego silnika 3d

     

     

    i staram sie go rozkminić ile moge

     

    ale mam problem z opanowaniem lepszej kolizji(bo ta z tego projektu jest daremna..)

     

    tzn. w tym projekcie czy idziecie prosto,czy skrecacie na boki i jest kolizja ze sciana zawsze jest x=xprevious , y=yprevious

     

    jak zrobić osobną kolizje na przód, tył

     

    oraz osobno na lewo,prawo.

     

     

     

    poruszanie sie przód,tył - speed+1 , speed -1

     

     

     

    poruszanie sie na boki:

    PRAWO

    {

    var xn,yn;

    xn = x + sin(direction*pi/180);

    yn = y + cos(direction*pi/180);

    { x = xn; y = yn; }

    }

     

    LEWO:

    {

    var xn,yn;

    xn = x - sin(direction*pi/180);

    yn = y - cos(direction*pi/180);

    { x = xn; y = yn; }

    }

     

     

     

     

    w grach 2d stosowalem if_place free.... i działało rewelacja ,ale tu nie ogarniam :( pomocy

     

     

     

     

     

     

     

     

     

     

     

  2. przeciwnik, kolizja z kulą:

     

    GML
    x += lengthdir_x(10, other.direction);

    y += lengthdir_y(10, other.direction);

    with (other) instance_destroy();

     

    Jak chcesz bardziej płynnego efektu, to nie ma tak hop siup, skoro zmienia kierunek losowo co 5 sekund.

     

    do czego tu jest potrzebne i co robi WITH(other) ?

     

     

    i po co instance destroy??? , jaka instancje mam tu zniszczyc?

     

  3. Mam problem z dzwiami. Jest to zwykła pozioma kreska solid gdy podejde do niej i nacisne guzik kreska z poziomej przekształca się płynnie w pionowa i tu moje pytania:

    -Jak poprawnie zrobić aby obj.dzwi stał się po otworzeniu nie solid i abym mógł przez obj.dzwi przejsc

    -albo jak zmienić jego maskę z poziomej kreski na pionowa by przejść przez nie

    GM8 ;)

    pozdro

     

  4. gm8 :)

     

    witam

    mam 3 obiekty

     

    1 to ja

    2 to kula z pistoletu

    3 to przeciwnik

     

     

    JA strzelam Kulą w przeciwnika i..

     

    chce by przeciwnik jak dostanie został odrzucony troszke w tył

    coś jak 2 kule bilardowe jedna gdy dobija do drugiej to odrzuci te druga

     

     

    dodam,że przeciwnik chodzi sobie losowo we wszystkie strony świata kierunek jego zmienia sie co 5 sekund

     

     

     

     

     

     

  5. witam

    chodzac po mojej grze 3d sciany pojawiaja sie jak podejde do nich na jakas odległość

    jak zrobic by bylo wszystko widoczne od razu ?

    dodam,że gra wstepnie była robiona w gm8 i została importowana do obecnego gm1.4

     

    pozdrawiam

     

    dodam jeszcze,że moje textury w miejscach gdzie byly przezroczyste(zgumowane) są czarne np. dzewo na czarnym tle,a powinno być samo dzewo..

  6. Witam

     

    Chciałbym zapytać jakie gm8.0 pro ma ograniczenia

    tzn. wiem ze max rozmiar textury to 2048/2048 (bo większej nie mogłem załadować w ramach testów)

     

    ile moge maxymalnie wgrać textur do jednej gry?

    ile dzwieków,objektów spriteów jakie moga miec maxymalne parametry itp itd..

     

    ogólnie chciałbym wiedzieć co i jak może mnie i każdego użytkownika gm8.0 pro ograniczyć

     

    pozdrawiam :)

     

     

     

  7. Aha nie zauwazyłem co wpisałeś w linice d3d_draw_block(x-128,y-128,155,x+128,y+128,0,background_get_texture(bck_blok),1,1); tutaj jest źle.

     

     

    Jak używasz transformów do przesuwania obiektów to w funkcjach rysujących dany model współrzędne ustawiaj bez zmiennych pozycji x, y, z. Te wsadza się do translate.

    czyli całość powinna być tak:

     

    GML
    d3d_transform_set_rotation_z(angle);

    d3d_transform_add_translation(x, y, 0);

    d3d_draw_block(-128,-128,155,128,128,0,background_get_texture(bck_blok),1,1);

    d3d_transform_set_identity();

     

     

    wielkie dzieki jesteś wielki wszystko działa :)

  8. No bo tam miałeś podstawić twój kąt obrotu. Lub zmienną za pomocą której chcesz ten obiekt obracać.

     

    Chyba brakuje ci podstaw, czym są funkcje czym zmienne. Sądząc po pytaniu z poprzedniego tematu widać że nie umiesz odróżnić zmiennej od funkcji wbudowanej. "d3d_transform_add_rotation_x=45;" tutaj przypisałeś wartość 45 do zmiennej o nazwie "d3d_transform_add_rotation_x" zamiast użyć funkcji o nazwie d3d_transform_add_rotation_x(),

    funkcje mają okrągłe nawiasy na końcu. W nawiasie się wstawia argumenty (parametry) które te funkcje wymagają. W tej konkretnej trzeba podać kąt obrotu wyrażony w stopniach.

     

     

    ok dzieki za rady znowu sie czegos nauczyłem ;)

    mam takie cos:

     

    d3d_transform_add_rotation_z(q)

    d3d_transform_add_translation(1,1 ,0);

    d3d_draw_block(x-128,y-128,155,x+128,y+128,0,background_get_texture(bck_blok),1,1);

    d3d_transform_set_identity();

     

     

    obiekt kreci sie dzieki zmiennej q,ale nie wokół własnej osi,tylko wokół mojej :(

     

    co zrobic by sie krecil wokol wlasnej?

     

     

     

     

  9. GML
    d3d_transform_set_rotation_z(angle);

    d3d_transform_add_translation(x, y, z);

    d3d_draw_block(x-128,y-128,155,x+128,y+128,0,background_get_texture(bck_blok),1,1);

    d3d_transform_set_identity();

     

    Zwróć uwagę że pierwszy jest SET kolejny ADD. No i kolejność jest ważna. Najpierw skalowanie (tutaj nie ma akurat) potem obracanie potem przesuwanie.

     

     

    error

     

    unknown variable angle

  10. Bawie sie w 3d,to moje poczatki,czytam wasze kursy,przegladam forum,cwicze na prostych przykladach

    ale mam pytanko jak sprawic,żeby 3d block krecił sie wokół włąsnej osi

    domyslam sie,że służy do tego d3d_Transform,ale czy moglby mi ktos to pokolei bardzo prosto wyjasnic?

     

    mam juz swoja plansze,mam figure 3d block:

    d3d_draw_block(x-128,y-128,155,x+128,y+128,0,background_get_texture(bck_blok),1,1)

     

    co zrobic by krecił sie wokół własnej osi?

     

    pozdrawiam

  11. popatrz czy nie ma czegoś takiego jak image_angle.

    Np image_angle = 45

     

    I przejdź na studio zamiast się męczyć ze starociem.

     

     

    witam jest cos takiego jak image_angle ! :)

     

    ale jak to zrobić w 3d tzn. jak obrócić i obiekt i jego maske do kolizjii

    to jest przykładowy blok:

     

    d3d_draw_block(x-128,y-128,155,x+128,y+128,0,background_get_texture(bck_blok),1,1)

     

    teraz chciałbym aby go i jego maske obrócić np. o 45 stopni

     

    czyli robie cos takiego:?

     

    d3d_draw_block(x-128,y-128,155,x+128,y+128,0,background_get_texture(bck_blok),1,1)

    image_angle=45;

    d3d_transform_add_rotation_x=45;

     

     

    tylko że powyższy kod nie działa ;/

     

     

     

     

×
×
  • Dodaj nową pozycję...