Skocz do zawartości

Qbi Wan

Użytkownicy
  • Postów

    55
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Qbi Wan

  1. COŚ widać :P Nie myślałem że "Visible" wpływa też na 3D, teraz będę pamiętał :) Wreszcie mam kulę na środku ekranu. Jednak ciekawi mnie ten element: Na szarej planszy w lewym-dolnym rogu ekranu pokazuje się ćwierć koła i nie wiem dlaczego.
  2. Nie chciałem podbijać, ale próbowałem inaczej się skontaktować... Jak Ci to wysłać? GG nie mam, a w PM nie można dodawać załączników.
  3. Niestety, dalej nic :( Wysłać Ci ten projekt? EDIT: Nie mam GG, jak Ci to wysłać? XD prześlesz jakoś mail'a?
  4. Dalej nic :( Create Event: d3d_start(); d3d_set_lighting(false); Draw Event: draw_set_color(c_white); d3d_draw_ellipsoid(-10,-10,-10,10,10,10,-1,1,1,8); draw_set_color(c_white); d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 0, 0, 60, view_wview[0] / view_hview[0], 1, 16000);
  5. Nic. Dalej szary ekran. Aktualnie "kod" wygląda tak: obj_camera Create Event: d3d_start(); Draw Event: d3d_start(); d3d_set_lighting(false); draw_set_color(c_white); d3d_draw_ellipsoid(-10,-10,-10,10,10,10,-1,1,1,8); draw_set_color(c_white); d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 0, 0, 60, view_wview[0] / view_hview[0], 1, 16000); d3d_set_lighting wstawiłem tak na wszelki wypadek. nie działa zarówno z tym jak i bez tego.
  6. obj_camera Create Event: d3d_start(); Draw Event: d3d_draw_ellipsoid(-10,-10,-10,10,10,10,-1,1,1,8); d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 0, 0, 60, view_wview[0] / view_hview[0], 1, 16000);
  7. Niestety nie dało to efektów :(
  8. wkleiłem i nic :( Zignorujmy na razie tą klawiaturę i zróbmy tak żeby od razu po włączeniu było widać tą elipsoidę. Bo mam wrażenie że coś tu jest zepsute, tym bardziej że zanim wszystko zaczęło znikać nie robiłem żadnych znaczących zmian. No bo robię d3d_start() i d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 0, 1, 60, view_wview[0] / view_hview[0], 1, 16000) czyli patrzę na środek wszechświata z góry z odległości 50) czyli jak robię d3d_draw_ellipsoid(-10,-10,-10,10,10,10,-1,1,1,8) czyli w środku wszystkiego tworzę kulę 20x20 to powinno być ją widać jak na dłoni, a tu nic.
  9. Witajcie:) Jak w opisie: mam 2 obiekty: obj_camera Create Event: GML d3d_start(); Draw Event: GML d3d_set_projection_ext(0, 0, 50, 0, 0, 0, 0, 0, 1, 60, view_wview[0] / view_hview[0], 1, 16000); d3d_draw_ellipsoid(10,10,10,10,10,10,-1,1,1,16); i obj_sphere Step Event: GML if keyboard_check(vk_up) yy+=5; if keyboard_check(vk_down) yy-=5; if keyboard_check(vk_right) xx+=5; if keyboard_check(vk_left) xx-=5; Draw Event: GML d3d_draw_ellipsoid(0,0,0,20,20,20,-1,1,1,16) Niby nic skomplikowanego, a jednak niczego nie widzę (mimo że wcześniej, jakieś 30 min temu, jakąś kulę widziałem) Co jest nie tak?
  10. Witajcie. Mam taki głupi problem. Ćwiczę już od dłuższego czasu d3d. Chciałem w końcu rozdzielić "całość" na osobne obiekty (nie ma tego dużo, tylko tyle ile trzeba do ćwiczeń z rotacjami, a dotychczas wszystko pisałem w jednym obiekcie). Kiedy to zrobiłem zaczęły się dziać dziwne rzeczy: floor zaczął wyświetlać się jako fioletowy kwadracik na środku kamery (jak GUI), a model sphere zdawał się zawierać 2 nachodzące na siebie tekstury i zamiast obniżać z do <0 zdawał się "odbijać" od z=0. Spróbowałem więc wrócić do koncepcji 1 obiektu, a tu view przesuwa mi się zostawiając czarne miejsce między brzegiem okna a widokiem kamery (po czterech stronach ekranu, zależnie od +x -x +y -y). Kod jest myślę na tyle krótki i prosty że skończyły mi się pomysły na naprawę. Przypadek z osobnymi obiektami może być za duży do zamieszczenia na forum, ale jak ktoś jest chętny do pomocy to chętnie pogadam na priv. edit:Problem zniknął jak zamieniłem przy draw_model d3d_transform_set_translation na add_translation.Jak teraz zrobić żeby każde draw i kamera były w osobnym obiekcie? Już raz mi wszystko srutło :P
  11. Chętnych od zatrzęsienia... ale nieważne, na yoyo znalazłem dokładnie to o co mi chodziło. Dla przyszłych pokoleń zamieszczam link: "obracanie modelu 3D" "rotation" "translation" :thumbsup:
  12. Witajcie :) Mam taki kodzik w Draw: GMLd3d_set_projection_ext(x_camera,y_camera,z_camera, x_model,y_model,z_model,0,0,1,45,1,1,262144); draw_set_color(c_white); d3d_draw_floor(20,20,0, -20,-20,-2, tex_wall,40,40); draw_set_color(c_blue); d3d_transform_set_identity(); d3d_transform_set_rotation_axis(0, 0, 1, z_rot); d3d_model_draw(my_model, x_model,y_model,z_model,tex_wall); d3d_transform_set_identity(); my_model to tylko d3d_model_block(my_model, 0.5, 0.5, 1, -0.5, -0.5, 0, 1, 1); wszystko jest w jednym obiekcie obj_ctrl, x_model, y _model i z_model są modyfikowane na klawisze q w e a s d, a z_rot rośnie o 1 na step. Wszystko jest dobrze dopóki nie ruszę x_model lub y_model. Wtedy zamiast przesuwać się po osiach i obracać się wokół własnej osi z, zaczyna krążyć wokół punktu 0,0,0([create] xyz_model) na odległość przeciwprostokątnej z x_model i y_model, podczas gdy kamera podąża za prawidłowym pkt xyz_model. Co jest potrzebne do otrzymania zamierzonego efektu?
  13. Tak nad tym myślałem, ale nie będzie dużo kłopotów żeby przy długim czasie działania programu zapisać duże wartości (4h w milisekundach)? Mój kod omija potrzebę wstawiania event'u Create :jezor:
  14. Zmieniłem koncepcję :lol2: Teraz obj next i prev_button mają wspólny kod w STEP: GML if(!mouse_check_button(mb_any)) { button_pressing=false } if(mouse_check_button(mb_left) && point_in_triangle(mouse_x,mouse_y, x,y,x+(5*-(argument0)),y+5,x,y+10)) { if(button_pressing=false) { page_number+=argument0;// page_number+=1; akcja wykonywana tylko raz po kliknienciu LMB date_time_pressed=date_current_datetime() } button_pressing=true if((date_second_span(date_time_pressed, date_current_datetime()))>=1) { page_number+=argument0; } } gdzie w zależności od guzika argument0 to 1 lub -1. Do tego w Draw rysuję trójkącik i wszystko działa gites :) Jest tylko jeden mały problem: ta sekunda różnie wygląda, pewnie zależy to od fps'ów. Gdzie najlepiej wpisać delta_time? Czy to coś pomoże? Może zwiększyć ilość sekund? Z jaką dokładnością date_span_time liczy sekundy? Porówna mi 1,5?
  15. A można zamienić "variable_local_exists" na "is_undefined(n)"? nie wiem czy to działa tylko przy ds_ czy przy innych zmiennych też, chociaż jest taki przykład dla podobnej funkcji: GML if is_string(val) { name = "Player: " + val; } ...więc chyba do wszystkich zmiennych :)
  16. Nie wiedziałem że między Betą a Stabilną jest taka różnica. Od teraz będę aktualizował do Bety :) Dzięki za pomoc :)
  17. Była bo stamtąd ją wziąłem :P Beta? Nie lepiej stabilna?
  18. Dzięki, wszystko wykrywa prawidłowo :) Od teraz powinien się poprawnie aktualizować?
  19. W sumie mam starszą, 1.2, ale nie mogę zaktualizować: A odnośnie funkcji:
  20. Jak wyżej. Traktuje jak zmienną, po dopisaniu nawiasów "błęduje". Co może być źródłem problemu?
  21. Witajcie :) Mam w evencie DRAW obj_all funkcję draw_text(x,y,first_button_text), natomiast w STEP coś takiego: GML if allow_write=true//jeżeli włączono pisanie { if first_button=true//i wolno pisać w sekcji 1. { first_button_text=string_copy(keyboard_string,1,string_length(keyboard_string))//to do str FBT skopiuj zawartość KS string_delete(keyboard_string,1,string_length(keyboard_string))//usuń zawartość KS if string_length(first_button_text)>2//jeżeli liczba znaków w FBT > 2 { var str_saved = string_copy(first_button_text, 1, 2 );//to zapisz FBT do SS string_delete(first_button_text,1,string_length(first_button_text))//wyczyść FBT first_button_text=string_copy(str_saved,1,2)//przepisz z powrotem z SS do FBT string_delete(str_saved,1,2)//usuń SS } if (keyboard_check_pressed(vk_backspace))//jeżeli naciśnięto Backspace { var str_saved = string_copy(first_button_text,1,string_length(first_button_text)-1);//to przenieś zawartość FBT bez ostatniego znaku do SS string_delete(first_button_text,1,string_length(first_button_text))//wyczyść FBT first_button_text=string_copy(str_saved,1,string_length(str_saved))////przepisz z powrotem z SS do FBT (już bez ostatniego znaku) string_delete(str_saved,1,string_length(str_saved))//usuń SS } } } I wszystko działa ok, poza jednym małym mankamentem: gdy wpiszę 3 znaki, to mimo że widzę prawidłowo tylko 2, backspace muszę nacisnąć 3 razy, jakby tamte znaki były gdzieś, tyle że niewidoczne. Jak mogę to naprawić? Wiem że można by to załatwić prościej, ale mam do pisania 2 pola między którymi można przeskakiwać, i każdorazowo trzeba zapisać zawartość, a backspace musi działać :D
  22. Sorki, teraz dopiero doczytałem że powinienem podać wersję... Zresztą, sam powinienem na to wpaść :P A w jakim evencie miałbym to dodać? Na początku myślałem że w mouse left button, ale wtedy chyba nie wykryje mi released... To by chyba przeczyło temu co wczoraj pojąłem :(
  23. Dobrze powiedziane :D GMS nie rozpoznaje funkcji "variable_local_exists" :( W contents nie mogę znaleźć niczego do zastąpienia.
  24. Czyli jeden rozpoczęty scrypt nie może działać w czasie kilku stepów. Jego działanie musi się skończyć w tym stepie w którym się zaczęło, w przeciwnym wypadku (jeżeli dotyczy keyboard & mouse) nie przejdzie do press, release, dalej (zgodnie z linkiem) end step, draw, game end, etc, i stworzy ryzyko zamrożenia wszystkiego.
×
×
  • Dodaj nową pozycję...