Skocz do zawartości

Dawidds

Użytkownicy
  • Postów

    1 970
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Dawidds

  1. No ta, ale nie ma sposobu, aby pokazać na ograniczonym viewie dwa obiekty gdy się "rozsuną". Chyba, że skalując ekran, ale o tym nic nie pisał, więc pomijamy. A i tak aby to jakoś wyglądało można by zmniejszyć max 2 razy, więc wyszło by na jedno, że jak się "zbyt rozsuną" to nie będzie widać ;d A z tym igrekiem to już daj spokój.
  2. Dawidds

    Zadanka z majzy

    Ej, bo się obrazimy :( Ed: Khę? alfa+20 > alpha beta > alpha. Tam ma być minus.
  3. Średnią? GML sredniaY = (obiekt1.x + obiekt2.x) / 2; sredniaY = (obiekt1.y + obiekt2.y) / 2; view_xview[0] = sredniaX; view_yview[0] = sredniaY;
  4. Dawidds

    Zadanka z majzy

    alfa+beta+gamma=180 alfa+(alfa-20)+(alfa-10)=180 fixed.
  5. A powiedz może, po co Ci dokładnie potrzebne to sprawdzanie tego kąta, jaki efekt chcesz uzyskać. Łatwiej będzie ;) Bo wygląda na to, że najblizszywróg wbrew pozorom nie oznacza instancji wroga o najmniejszym dystansie do gracza, tylko po prostu tak nazwałeś obiekt : D Chcesz ze wszystkich przeciwników wybrać tych, na których patrzysz i wykonać dla nich jakieś akcje? GML with(przeciwnik) { kierunekodgraczadoprzeciwnika = point_direction(player.x, player.y, x, y); if(abs(angdiff(player.dir, kierunekodgraczadoprzeciwnika)) <= 45) { akcja tylko dla tych przeciwników, na których patrzysz prosto. } }
  6. Masz mnie. Jak mogłem nie dostrzec tej bijącej po oczach różnicy koloru między #000084 a... blue.
  7. No, dokładnie o to chodzi, że nic się nie stanie : D Równie dobrze mógłby zamiast if(instance_nearest(...)) pisać if(!!instance_nearest(...) >= 0.5 && pi==pi), ale... po co?? Jak już napisałem posta to aby był bardziej "wartościowy" dodałem ten drugi element który był niepotrzebny. Tyle. Koniec. I dla ścisłości - w gmie true to >=0.5. Nie pytajcie dlaczego, gm lubi być inny. Podobnie jak istnienie instance_exists() nie ma najmniejszego sensu, bo GML if(instance_exists(...))oznacza dokładnie to samo, coGML if(instance_count(...))
  8. Dawka, sory ale co Ty pierdzielisz :/ ? Nie dość że podałeś kod _potencjalnie_ działający tylko po liniach prostych, to NAWET NIE UWZGLĘDNIŁEŚ W TYM KIERUNKU, W KTÓRYM PATRZY GRACZ, więc powiedz mi jakim cudem by to miało działać. Już nie będę się też czepiał, że łatwiej by to było zrobić resztą z dzielenia, ale już kod GML if(warunek) { return true; } else { return false; } tak wali po oczach, że aż się nie da nie poprawić:GML return warunek; I nie używaj == true, bo w przypadku warunku to to dosłownie nic nie robi. Jak nie wiecie to się nie udzielajcie, plax. Bo tylko w błąd wprowadzacie. Ed: Skupiłem się na jechaniu po Dawce i zapomniałem o temacie : D Nie wiem dokładnie co jest, ale spróbuj dopisać do stepa gdzieś kodGML global.test = abs(angdiff(direction, point_direction(x, y, najblizszywrog.x, najblizszywrog.y))), odpal grę w Debug Mode (czerwona strzałka), i dodaj do listy monitorowanych zmiennych (zielona ikonka plusika) "global.test" - będziesz widział na żywo, jaka jest ta różnica kątów, jak daleko od przeciwnika gracz patrzy. Łatwiej będzie stwierdzić, w czym problem - jeśli kąty w tym debug modzie będą się zgadzały z tym co widzisz "na oko" to problem tkwi gdzieś w tych twoich kodach na ataki itd., jeśli kąty nie będą działały (muszą działać, ale co tam) to napisz, zajmiemy się tym głębiej : D
  9. Nie słuchaj Greli D: Całe abs(angdiff(direction, point_direction(x, y, najblizszywrog.x, najblizszywrog.y))) to jest różnica kątów między tym, gdzie patrzysz, a tym, gdzie powinieneś patrzeć (prosto na kogośtam). Więc to "45" to jest te maksymalne odchylenie.
  10. A teraz mnie oświeć jak to się ma do tego o czym napisał Tymon :)
  11. Aby liczyć w gmie kolizje sprite musi być ustawiony jako sprite instancji (spite_index). Takie sprity, które tylko rysujesz nie mają dla gma "fizycznego istnienia", nie sprawdzisz z nimi kolizji. Musisz to porozbijać na osobne obiekty.
  12. Piszesz funkcję angdiff(ang1, ang2), która będzie zwracać różnicę kątów: GML return ((((argument0 - argument1) mod 360) + 540) mod 360) - 180; I do sprawdzenia: GML if(abs(angdiff(direction, point_direction(x, y, najblizszywrog.x, najblizszywrog.y))) <= 45)
  13. http://sketchuptips.blogspot.com/2007/01/w...j-exporter.html
  14. RODZICÓW W TO NIE MIESZAJ! Assassin napisał dobrze, notme==1 i kolizja nie jest sprawdzana dla INSTANCJI, z której wywołaliśmy tą funkcję. I Ty chyba też dobrze napisałeś, tylko nie wiem, po co do tej historii parenty wsadziłeś.
  15. http://gmc.yoyogames.com/index.php?showtopic=413985 http://gmc.yoyogames.com/index.php?showtopic=461786 http://gmc.yoyogames.com/index.php?showtopic=286571
  16. precision - czy ma lecieć po masce pikseli czy tylko po bounding boxie - wpisujesz 1 notme - czy ma nie sprawdzać kolizji z obiektami tego samego typu - też wpisujesz 1 Ed: Assasin wut. Tak to jest, jak się zostawia tłumaczenie encyklopedii userom tak, że nikt tego nie sprawdza : D Najstarsza wersja z tym bugiem pochodzi od jakiegoś adstera, który, niespodzianka, nie istnieje : D
  17. Na wikipedii pod artem o sicie eratostenesa ("Zobacz też") trafiłem na to: http://pl.wikipedia.org/wiki/Sito_Atkina I coś, gdzie można przeczytać, jak to działa: http://en.wikipedia.org/wiki/Sieve_of_Atkin I coś na jakieś polskiej stronie: http://edu.i-lo.tarnow.pl/inf/alg/001_search/0012.php Może to nie dokładnie to o czym myślałem, ale opiera się na podobnym założeniu :P
  18. Że mogę zacząć liczenie od dowolnej liczby a nie od 2 i nie mam ograniczenia w postaci pamięci. No ale dobra, te sitko erotestonesa (czy jak go tam nazwałeś) ma jednak kapkę lepszą złożoność. Nie wiem, co mnie wzięło na początku z tym "nie da się inaczej niż", przepraszam : D
  19. Ejno, napisałem edita jak mnie oświeciło :( Ten drugi sposób już ma liniową złożoność. Ed: A w sumie to jeszcze lepiej by było zacząć z tablicą, gdzie wszystkie liczby są oznaczone jako złożone - znajdujemy sobie jakąś liczbę która się ładnie rozkłada (120 dajmy na to, ma dość dużo dzielników na oko) i możemy wykreślić z nich wszystkie wielokrotności dzielników naszej liczby (liczba%60 jest równa 2 4 6 itd - wykreślamy, liczba%60jest równa 3 6 9 itd też wykreślamy i tak dla wszystkich dzielników), i dopiero na tym, co zostanie stosujemy te zwykłe sitko.
  20. No na wyszukiwanie liczb pierwszych nie ma lepszego sposobu niż sprawdzanie wszystkich po kolei - dzielisz (konkretnie sprawdzasz resztę z dzielenia) liczby przez wszystkie liczby aż do osiągnięcia jej połowy. Czyli że dla 13 sprawdzisz 2, 3, 4, 5, 6, 7. Ed: A z mniej "przenośnych" sposobów to możesz zrobić bufor dla wszystkich liczb od 2 do n, i wtedy wykreślasz z tego bufora wszystkie wielokrotności wszystkich liczb w nim. Czyli że dla 2 wykreślisz 4, 6, 8 ... dla 3 6 9 12 itd. I to, co zostanie jest pierwsze. Ta metoda się nawet jakoś nazywa chyba.
  21. Dawidds

    Stranded II

    A ja to w ogóle wole Worda, ma większe możliwości edycji tekstu, można wstawiać obrazki i nawet eksportować jako html :/
  22. Dawidds

    Zmiana typu w Javie

    http://www.google.com/search?rlz=1C1CHMI_p...a+int+to+string
  23. Tyle, że za każdym razem, jak sobie wyłączasz komputer/robisz dźwięk takim wywołaniem na ~0.2sek pojawia się okno konsoli - przynajmniej u mnie. I nie wiem jak z beepem (tzn. też się da, ale może być cięższe do znalezienia), ale wyłączyć na 100% się da bez udziału shutdowna :)
  24. Masz takie podsumowanie poprzedniego postu, taki prezent z okazji Dnia Sybiraka: -Wywal ten baner i wszyskie teksty typu "by Egzekutor". Przeciętnego użytkownika nie obchodzi, kto napisał program. A jak go coś weźmie to sprawdzi w "Helpie". -Wywal wszystskie niepotrzebne elementy interfejsu typu "Witam w porgramie ...". No bez jaj, przecież wiem, jak się nazywa porgram, z którego korzystam. A jakbym zapomniał wiedział to widzę to w tytule. W ogóle to jedyne, co powinieneś tu zostawić to pole do wpisywania godziny, te haczyki Zamknij system dźwięk etc, i te 4 buttony, które też warto by trochę ogarnąć, bo serio nie wiadomo, który co robi (Anuluj? Czym to się różni od Zatrzymaj/Resetuj? I Ustaw chyba oznacza "Start") -Ogarnąć interfejs - teraz to jest masa kontrolek porozmieszczanych wszędzie bez żadnego sensu, nepotrzebny pasek na górze (duplikujące się opcje, nikt przecież nei będzie zamykał programu Plik>>Zamknij ani nie będzie ustawiał timera z menu jeśli może kliknąć guzik). Brak wskaźnika czy teraz czas jest wznowiony czy nie (chociaż zmieniaj tekst na buttonie "Zatrzymaj"->"Wznów"->"Zatrzymaj"->...). -Jak już zrobiłeś taki ładny labelek "Komputer zostanie wyłączony za" to mógłbyś wstawiać informacje odrazu do niego zamiast korzystać z gupich messageboxów, które dla tak małych programów spisują się tragicznie (mam okno programu gdzies po lewej, wcisnkam Resetuj a tu jep, nie mogę nic wciskać na programie nagle. A, to jednak wyskoczyło na środku ekranu malutkie okienko "Przerwano odliczanie", teraz tylko kliknę ok i moge kontynuować zabawę!) -Zamykanie systemu I ROBIENIE SYGNAŁU DŹWIĘKOWEGO przez wywoływanie okna cmd co sekundę jest idiotyczne, tego chyba nie trzeba pisać? Oj, już napisałem. A to klops :( -No i wiadomo, tray itd. -Z pomysłów na ficzerki - daj możliwość ustawiania wyłaczenia na dwa typy - "zamknij system za godzinę" i "o godzinie xx".
×
×
  • Dodaj nową pozycję...