Skocz do zawartości

Muuuuczek567

Użytkownicy
  • Postów

    1 472
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Muuuuczek567

  1. Muuuuczek567

    Galeria Grafik

    Te animacje też już mam.
  2. Muuuuczek567

    Galeria Grafik

    Pan Rzepa: Z GM 7 da się obrazki importować tylko jako pasek, konwersja na GIF nie działa :/
  3. Nie da się. Nie istnieje taka funkcja w GameMakerze, skrypt zamalowania w GML-u jest, lekko mówiąc, niewydajny, a o ile mi wiadomo, nie ma chyba DLL-a do zamalowywania konturów (choć tu mogę się mylić). Jeśli masz figurę geometryczną, to możesz użyć primitivów z wierzchołkami w punktach wierzchołków tej figury.
  4. @Trotom: myślałem, że chodzi Ci o smugę. Smugę można zrobić na tablicach i draw_line/draw_primitive, lub używając particle'ów. Oczywiście, w pierwszym sposobie trzeba dać ograniczenie, ale wydawało mi sie, że się domyślisz. Que? Co znaczy "się o nie zahaczało"? @MXQ: life is brutal.
  5. 1. Zapisuj do tablicy pozycje gracza i rysuj linie na pozycjach z tablicy bądź użyj particle'ów. 2. Ja też nie bawiłem się z viewem (ani tym bardziej z "wsyszukiwarką"), jednakowoż mógłbyś zadać oczekiwane pytanie nr 2, prawda?
  6. @aro00: To jest przykład. Przykład + (użytkownik*inwencja) = oczekiwany rezultat.
  7. Przykład: GML speed += 0.003 if speed>20{speed=19.8} //max speed to 20</span> można zamienić na: GML speed = min(speed+0.003,20) Przykład: object20 jest niepotrzebny. Można to załatwić w kodzie zderzenia piłki z blokiem albo w kodzie zniszczenia bloku. Przykład: obiekt "zycia" również nie jest potrzebny. Cały kod tego obiektu można zrealizować w kodzie obiektu "object1". Przykład: obiekty "spion" i "spoziom" także są marnotrawstwem pamięci. GML if(x < 0)||(x > 640) hspeed *= -1 if(y < 0) vspeed *= -1 I tyle wystarczy, jeżeli chodzi o niewychodzenie poza room. Przykład: 4 sprite'y na jeden bloczek to zdecydowanie za dużo. Od tego jest image_index. GML image_index = image_number-hp I wtedy zamiast tworzenia dodatkowej zmiennej max_hp, mamy image_number. To tylko kilka przykładów, mógłbym znaleźć więcej, ale, jak już wspominałem, nie chcę ;)
  8. Ja? Ja nic nie chcę... Po prostu zauważyłem, że Twój przykład można uprościć. I ewentualnie troszkę przyspieszyć.
  9. Powiem krótko: da się jeszcze dużo poprawić. 3/5
  10. Nie grzebałem. Ale mogłem się domyślić :) koniec offtopu
  11. Muuuuczek567

    mechFox

    @Piedro: "brush" w nazwie pasuje do programów graficznych. @topic: "Flame Incarnation", "Fire Incarnation", "Burning Tail" etc.
  12. Zamiast: GML if speed>0 then speed-=0.5 else speed=0; można: GML speed = max(0,speed-0.5) draw_sprite_part pozwala pobrać prostokątny kawałek sprite'a, ale można użyć trójkątnych masek, surface'ów, primitive'ów... Ale dla niezbyt zaawansowanych (a podejrzewam, że Ty należysz do tej grupy : ) ) rozwiązanie Magnusa powinno wystarczyć. @Magnus: myślałem, że pochodzisz z Szarogórza ;)
  13. Jedna z najszybszych piosenek, jakie słyszałem:
  14. @Trotom: dzieci w wieku 8 lat nie powinny używać Internetu, a co dopiero pisać gier w GameMakerze i siedzieć na forach poświęconych programowaniu. Takie małolaty powinny potykać się w ściganiu się "kto pierwszy do tamtego drzewa", grać w piłkę nożną dmuchaną piłką i nosić odwrócone czapki z daszkiem.
  15. Muuuuczek567

    6 z infy

    Poszedłem na jeden informatyczny konkurs w I klasie. Do końca III klasy moge się obijać, bo mam zagwarantowaną szóstkę :D
  16. Muuuuczek567

    mechFox

    "Fury of the Burning Tail" lol
  17. Przyczepię się do jednego punktu regulaminu :P Jak wiemy, Game Maker od wersji 8.1 zowie się GameMaker. Czy ten punkt zabrania korzystania z niego? : D
  18. Dwa razy wolniejsze niż przedtem, ale to pewnie dlatego, że w pętli for jest ten licznik deklarowany na samym początku. A po repeat nie stawiamy średnika ;)
  19. GM 8.1 zapisuje projekty w formacie .gm81, więc nie wiem, na czym polega problem.
  20. Porównałem szybkość obu skryptów i wychodzi na to, że kod Tymona jest ok. 50% szybszy. :/
  21. GML a = 0 //a to odległość od siebie najdalszych obiektów g1 = 0 //pierwszy tymczasowy obiekt g2 = 0 //drugi tymczasowy obiekt id1 = -4 //pierwszy obiekt id2 = -4 //drugi obiekt for(i = 0; i < instance_number(obiekt); i += 1) { g1 = instance_find(obiekt,i) g2 = instance_furthest(g1.x,g1.y,obiekt) if(point_distance(g1.x,g1.y,g2.x,g2.y) > a) { id1 = g1 id2 = g2 a = point_distance(g1.x,g1.y,g2.x,g2.y) } } Nie jestem całkowicie pewien, czy zadziała, ale powinno.
  22. Czas potrzebny na wykonanie skryptu poszukiwania dwóch najdalej położonych od siebie obiektów spośród n obiektów rośnie wykładniczo. Jeśli się nie mylę, wyraża się on wzorem n!/2 dla n > 1, gdzie jednostką jest porównanie odległości dwóch obiektów. Dlatego lepiej użyć funkcji instance_furthest, wtedy czas wykonania skryptu wynosi co najwyżej n. Pisząc tę wypowiedź nie uwzględniłem Twojego ostatniego postu.
  23. GML droga=mp_grid_path(global.lol,pt,630,54,qniec.x,qniec.y,true) if droga=0{ with(global.ostatni){instance_destroy()} mp_grid_clear_all(global.lol) mp_grid_add_instances(global.lol,wieza,false) show_message('Nie znaleziono drogi') } To jest kompletnie nieoptymalne. Po co usuwać wszystkie komórki siatki i od nowa je dodawać, skoro można użyć mp_grid_clear(global.lol,kom_x,kom_y)? mp_grid_clear i mp_grid_add nie czyści/uzupełnia patha, a jedynie tworzy mapę przeszkód, które path ma omijać. Ta podwójnie wyświetlana wiadomość może mieć coś wspólnego z pewnego rodzaju bugiem w GM-ie (nie znam jego natury, trzeba się powołać na bardziej doświadczonych). Zdarzało mi się tak np. gdy źle używałem funkcji real()/string().
×
×
  • Dodaj nową pozycję...