Skocz do zawartości

Amaterasu

Użytkownicy
  • Postów

    390
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Amaterasu

  1. Czy we właściwościach sprite'a sp__usta ustawiłeś origin sprite'a tak, aby znajdował się na jego środku? Od tego zależy m. in. w jakiej pozycji od obiektu będzie rysowany sprite.
  2. Amaterasu

    Bonfire

    Oczy w drugim rzędzie odstraszają, poza tym 2a z mieczem z 2b mógłby być OK. W obecnym stanie najlepiej rzeczywiście wygląda 1b.
  3. @anty: ile planujesz mieć postaci? Zakładam, że będzie to platformowa bijatyka vs 2p
  4. Amaterasu

    Foto-galeria

    pics or didn't happen
  5. Nie znam się na C, ale do dwóch pierwszych zadań wystarczą pętle for i tablica o wielkości [W][H] <= 1000 oraz pętla for od 1 do 10. Przyjmując, że szerokość tablicy to W, wysokość to H: Średnia wartość tablicy jest sumą tablicy podzieloną przez jej wielkość. Suma pierwszego wiersza jest równa W(W+1)/2 (ciąg arytmetyczny). Drugi wiersz jest 2 razy większy, trzeci - 3x większy itd. Z tego wynika, że suma tablicy jest wielokrotnością sumy pierwszego wiersza. Wielokrotność ta jest równa H(H+1)/2 (również ciąg arytmetyczny). Wynik wystarczy podzielić przez W*H.
  6. Ta tablica ma mieć wielkość 1000x1000, czy wartości w niej mają nie przekraczać 1000? Chcesz wyświetlić konkretny fragment tej tablicy, czy tylko lewy górny róg? Średnia wartość tablicy dotyczy wyświetlanego fragmentu, czy całej tablicy?
  7. Aż bym sam napisał jakiś tutorial, ale chyba nie byłoby na niego popytu, bo większa część userów tutaj po prostu skopiowałaby dołączony przykład i nawet nie zerknęła na treść tego tutka :/
  8. Słaby argument, skorzystanie z przykładu wymaga, prędzej czy później, zrozumienia jego działania. +nauczenie się shaderów przyniesie wymierne wyniki z upływem czasu, można uzyskać na nich efekty praktycznie nieosiągalne przy pomocy samego GM-a, więc im wcześniej zacznie się z nich korzystać, tym lepiej.
  9. Masz już ustalone największe odległości po osiach. Wtedy view_wview = max_distx+stałax, view_hview = max_disty+stałay, view_xview = mean(minx,maxx), view_yview = mean(miny,maxy) stałax to minimalna odległość od krawędzi ekranu dzielona na 2, tak samo stałay.
  10. Najprościej wyznaczyć największą odległość obiektów od siebie oddzielnie po osi X i Y, a potem ustawiać obszar viewu zależnie od tych odległości i ewentualnie od minimalnej odległości obiektów od krawędzi viewu.
  11. Jeżeli w Twoim kodzie masz np. GML if(collision_line(argumenty)) { //kod } to nie otrzymasz informacji o tym, z którym dokładnie obiektem kolidujesz. Taką informację dostaniesz dopiero po skorzystaniu z następującego kodu: GML obj_collision = collision_line(argumenty) //zapisujesz ID obiektu, z którym kolidujesz if(obj_collision > 0) //jeżeli nie kolidujesz z żadnym obiektem, wtedy obj_collision przyjmuje wartość ujemną { //kod } Każda funkcja tego typu (nie tylko collision_*, ale też place_*, position_*, instance_*) zwraca ID pierwszego obiektu, który spełnia warunki danej funkcji.
  12. Object wrog, event Destroy: instance_create(x,y,choose(obj_money,obj_apteczka,obj_diamond)) Funkcja choose(x1,x2,...,x16) wybiera losowo jeden z podanych argumentów.
  13. Za kierunek początkowy można podstawić kierunek od A do C, po prostu chciałem to uogólnić, to działa dla każdego kąta.
  14. Prawdopodobnie chodzi o coś takiego: Y = (xb >= M)*(X-point_direction(xb,yb,xc,yc)*(xb-M)/M)+(xb < M)*(X-point_direction(xa,ya,xb,yb)*(1-((M-xb)/M))) Wyjeśnienie: jeżeli współrzędna x punktu środkowego B jest większa od lub równa średniej współrzędnych x punktów krańcowych A i C, wtedy kąt, jaki punkty kontrolne wyznaczają z kierunkiem od B do C, jest równy różnicy kierunku początkowego i kierunku od B do C; następnie kąt jest mnożony przez (xb-M)/M, czyli im bliżej punktu C jest punkt B w osi X, tym mocniej kąt jest modyfikowany; jeżeli punkt B znajduje się dokładnie między A i C, kąt nie jest modyfikowany. Podobnie dla punktu A, jeśli xb jest mniejsze od M. Nie mówię, żebyś kopiuj-wklej mój kod, bo pewnie coś namieszałem z point_direction (zapewne zła kolejność punktów), ale działa to na podobnej zasadzie, co w tym Cinema 4D.
  15. Amaterasu

    Pojedynek botów

    W Colobocie można było pisać boty, tam była przestrzeń 3D.
  16. Amaterasu

    Pojedynek botów

    Jeśli jedynym sensorem będzie wzrok, to ciężko będzie botom wyznaczać, skąd może być skierowany atak, znajdować bezpieczniejsze miejsca na mapie itp.; proponuję zatem, aby każda podejmowana akcja emitowała dźwięk, którego natężenie było zależne od odległości od źródła. Mając dwoje uszu w pewnej odległości od siebie można wyznaczyć gradient natężenia dźwięku (czyli z której strony najprawdopodobniej dochodzi dźwięk) i na jego podstawie podejmować akcje. Albo coś uproszczonego, bo powyższe może być dość skomplikowane ze strony matematycznej.
  17. Amaterasu

    Pojedynek botów

    Mnie się to podoba! A podobałoby się jeszcze bardziej, jeśli do boju można było wysłać drużynę botów. I chciałbym, aby był określony zestaw reguł w jednym PDF-ie, żeby nie okazało się nagle, że jakiś konkretny ficzer daje przytłaczającą przewagę i bota trza było zdyskwalifikować. Miałbym w końcu okazję do przetestowania sieci neuronowych, hihi. E: ten filmik z linku nie działa : (
  18. Myślałem, że wyjaśnisz, jak obliczyć tę ilość kombinacji : |
  19. A właśnie, ile jest możliwych kombinacji magicznego kwadratu?
  20. I jest jeszcze takie duże ruskie N - to wtedy iloczyn, nie suma.
  21. To jest uogólnienie systemu pozycyjnego, w szczególności systemu dwójkowego. Z grubsza: zamiast na liczbach typu 100101 albo 2F36, Jakim operuje na symbolach dzięki temu uogólnieniu.
  22. Masz zamiar w ten sposób rozwinąć którąś z gałęzi matematyki lub stworzyć nową? Pierwszy raz spotykam się z czymś takim, a wygląda przyzwoicie. //jestem laikiem
×
×
  • Dodaj nową pozycję...