Skocz do zawartości

zolty77

Użytkownicy
  • Postów

    46
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez zolty77

  1. tak nie należy robić, ponieważ stworzy się dziesiątki instantów za jednym kliknięciem, ja to zazwyczaj robię z użyciem alarmu. wracam honor, to jednak przy kliknięciu klawisza klawiatury :crying:
  2. dzięki wielkie :D Opisze tutaj jak by ktoś potrzebował mamy trzy skrypty do zooma Script 1 scrMouseControlInit GML // Setup an enum for zoom in/out ZoomIn = 0; ZoomOut = 1; Script 2 scrMouseZoom GML switch (argument0) { case ZoomOut: { if (view_wview[0] <= (room_width - 64)) { view_wview[0] += 64; view_hview[0] += 48; view_xview[0] -= 32; view_yview[0] -= 24; } } break; case ZoomIn: { if (view_wview[0] > 512) { view_wview[0] -= 64; view_hview[0] -= 48; view_xview[0] += 32; view_yview[0] += 24; } } break; } ClampViewSettings(); Script 3 ClampViewSettings GML if (view_xview[0] <= 0) { view_xview[0] = 0; } if ((view_xview[0] + view_wview[0]) > room_width) { view_xview[0] = room_width - view_wview[0]; } if (view_yview[0] <= 0) { view_yview[0] = 0; } if ((view_yview[0] + view_hview[0]) > room_height) { view_yview[0] = room_height - view_hview[0]; } Tworzymy obiekt objMouseControl w Create GML scrMouseControlInit(); w Event Mouse Wheel UP GML scrMouseZoom(ZoomOut); w Event Mouse Wheel DOWN GML scrMouseZoom(ZoomIn);
  3. Zrobiłem zoom scrolem, ale nie mam pojęcia jak zrobić żeby zoomowało mi do środka mapy a nie do rogu? widok z góry 2D Druga sprawa to żeby obiekty się nie scalowały. Obecny kod:w Event Mouse Wheel up GML view_wview[0] = max(640, view_wview[0] - 20); view_hview[0] = view_wview[0] * 0.75; Dodatkowo później mam zamiar zrobić przesówanie obrazu za pomocą myszki.
  4. Jak by ktoś chciał zobaczyć postępy https://www.dropbox.com/s/zosjw1rnk61fcjw/C...ult-1.0.0.2.exe
  5. Ja używam GMS :) to znaczy że to nie ma wpływu na wydajność?
  6. Pracuje już nad tym metodą prób i błędów, bo aż takiego doświadczenia nie mam No nie ma to jak od razu rzucić się na głęboką wodę :D ale dzięki temu szybciej się uczę. A czy przypadkiem między tym : GML Draw_Panel._idn=0; A Tym: GML with Draw_Panel _idn=0; nie ma żadnej różnicy? I czy lepiej zrobić panel na którym będą informacje z obiektu? czy lepiej rysować w Drawie?
  7. Szczerze to mi skomplikowało życie :D ponieważ zaznaczanie mam na kliknięcie myszki jak i na zaznaczenie ramówką jak to bywa w strategiach używając funkcji GML with Aircrafts if (collision_rectangle(global.xx1,global.yy1,global.xx2,global.yy2,id,1,0)) { Draw_Panel._idn=id; } with Aircrafts if (collision_point(global.xx1,global.yy1,id,1,0)) { Draw_Panel._idn=id; } with Base_player if (collision_rectangle(global.xx1,global.yy1,global.xx2,global.yy2,id,1,0)) { Draw_Panel._idn=id; } with Base_player if (collision_point(global.xx1,global.yy1,id,1,0)) { Draw_Panel._idn=id; }
  8. To mi się na pewno przyda, bo nie wykorzystuje tak procka, dzięki wielkie. :cheers: a jednak aktualizują się dane w czasie rzeczywistym.
  9. Tylko to już dla mnie za bardzo skomplikowane, a jak będą mi się tworzyły nowe obiekty.. dzięki za optymalizację kodu, nie wiem czemu mi to wcześniej nie działało tylko wyświetlało wszystkie informacje ze wszystkich obiektów na raz. Za bardzo nie wiem o co chodzi i jak to zrobić. jak jest odznaczone to panel znika, będzie więcej pola widzenia a jak jest kilka obiektów to zostaje chyba ten z najwyższym id, jak dla mnie może tak zostać.
  10. Jakoś sobie poradziłem.. oczywiście podzielę się w Stepie obiektu: GML xx = id.x; yy = id.y; w Drawie innego obiektu do rysowania: GML with F16 if (id.selected = true) { draw_rectangle_color(750,15,1010,585,c_gray,c_white,c_gray,c_white,0); with id draw_text(760,25,id.xx); with id draw_text(760,45,id.yy); } pozdro.
  11. Jak w tytule, mam dużo obiektów i chce zrobić tak, aby po kliknięciu na każdy z nich w panelu obok wyświetlały się informacje o nim, np współrzędne itp. jeżeli mam kilka obiektów o tej samej nazwie. udało mi się już zrobić, że mogę zaznaczać obiekty i każdy zaznaczony obiekt ma zmienną, że jest zaznaczony, jak to dalej ugryźć?
  12. Dzięki wielkie, teraz ogrom możliwości się zwiększył :D
  13. Witam, mam dwa obiekty na sobie i chciał bym klikając myszką zaznaczyć tylko jeden, dla lepszego wyobrażenia.. widok z góry 2D jest lotnisko, na nim samolot i klikając LPM na te dwa obiekty zaznaczyć tylko samolot a gdy samolot odleci żeby zaznaczyć tylko lotnisko, było by łatwo gdyby to był tylko jeden typ samolotu, więc czy da się za pomocą np. GML position_meeting(x,y,wszystko inne niż lotnisko) instance_place(x,y,wszystko inne niż lotnisko) instance_position(x,y,wszystko inne niż lotnisko) nie chce w miejscu "wszystko inne niż lotnisko" wpisywać kilkudziesięciu różnych obiektów. głównie chodzi mi mi o to czy w miejscu wpisania obiektu w tych funkcjach da się jakoś wpisać inne obiekty prócz jakiś konkretnych ?
  14. Wielkie dzięki :lol2: Zrobiłem tak i mam wszystko czego mi trzeba. GML if (go = true) //Wybieranie kierunku { mp_potential_settings(max_angle,1,0,0) mp_potential_step( xx , yy , cruise,true ); }
  15. Wytłumaczył by ktoś pokrótce funkcje sterującą tym: mp_potential_step( xx , yy , cruise,true ); <-- to rozumiem mp_potential_settings(maxrot,rotstep,ahead,onspot) <-- a to mi się wydaję że mogę ustawić kąt obrotu, tzn jak szybko ma się obracać itp. i nie wiem co to ",ahead,onspot"
  16. Witam, jak napisać sterowanie aby mój obiekt gdy jest zaznaczony i gdy kliknę prawy przycisk na mapie powoli obrócił się i podążał w kierunki gdzie kliknę myszką. napisałem tak żeby podążał w wybranym kierunku lecz mam problem z napisaniem aby się powoli obracał. (nie chodzi mi o to żeby się obrazek obracał) jest to gierka z widokiem z góry 2D. sterowanie tylko myszką. oto kod który do tej pory napisałem: GML if (selected == false) { sprite_index = f16; } if (selected == true) //Gdy Obiekt zaznaczony { if (mouse_check_button_released(mb_right)== true) { if ( point_distance( x , y , xx , yy ) > 2 ) //Wybieranie kierunku { go = true; move_towards_point( xx , yy , cruise ); } } } if (go = true) { friction = 0; breaking = false; if (cruise <= max_speed) speed += ramp; //Rozpędzanie }else go = false; if (position_meeting(xx,yy,F16)==true) { breaking = true; //Hamowanie if (breaking = true) { go = false; friction = ramp+0.1; }else breaking = false; } if (speed <= 0) //Jeśli zahamował { breaking = false; friction = 0; }
  17. Dziękuje za podpowiedź, chociaż zrobiłem w ten sposób i też jest dobrze ;) : GML r1 = random (35); r2 = random (35); instance_create(Phage_inf.x-17+r1,Phage_inf.y-17+r2,Micro);
  18. Raczej mały na dużym ;P bardziej mi chodziło o to żeby jak mam obiekt 400x na 400x i na nim pojawiały się losowo w różnych miejscach inne obiekciki, przykładowo 16x na 16x ,żeby mi się nie pojawiły gdzieś poza dużym obiektem, poza tym duży obiekt jest kołem ;-)
  19. Witam, jak napisać aby losowo w różnych miejscach tworzył się mały obiekt na większym obiekcie?
  20. zolty77

    Random

    No racja to już wszystko wiem, Temat zamknięty
  21. zolty77

    Random

    No ba, a to działa :) tyle że bez przedziału. mi to teraz bez różnicy czy w górę czy w dół :)
  22. zolty77

    Random

    a to dziwne bo cały czas mam 23 lata, cóż dzięki za pomoc, jeszcze się pomęczę.
  23. zolty77

    Random

    hmm tak też nie, nic sie nie zaokrągla
  24. zolty77

    Random

    function Losuj(Min,Max,Exponent: integer): integer; begin randomize; result := floor((Min+Random(Max-Min))/(intPower(10,Exponent))*(intPower(10,Exponent))); end;
×
×
  • Dodaj nową pozycję...