Skocz do zawartości

Ranking

Popularna zawartość

Treść z najwyższą reputacją w 29.04.2018 uwzględniając wszystkie działy

  1. I am vader

    Miejsce kolizji

    Edit: Dopiero przeczytalem że nie miało być z lini... no trudno na darmo się rozpisałem. I tak zostawię tutaj dla potomnych. Edit2: Chyba że konkretnie chodzi Ci o nie RYSOWANIE lini oraz nie używanie wbudowanych funkcji kolizyjnych, wtedy poniższe jest dla Ciebie. Edit3: Dobra koniec tych editów Nie wiem czy licencja którą wybrałem jest dobra, chodzi o to żeby było za darmo do użycie również komercyjnego bez potrzeby podawania autora w creditsach czy jakichkolwiek plikach. Edit4: Walić napisałem własną licencję. Daj Lajka bo się napracowałem kiedyś Sam tego potrzebowałem do rayguna do mojego projektu, więc zaadoptowałem takie coś, licencja kodu powiedzmy GNU General Public License, więc rób co chcesz z tym. ///lines_intersect(ax1,ay1,ax2,ay2,bx1,by1,bx2,by2) // 90% of code adapted from C script by Gavin @ stackoverflow, //uses algorithm from "Tricks of the Windows Game Programming Gurus" //by Andre LaMothe // License: Free to view, modify and redistribute, both commercially // and for free without need to acknowledge original creator, as long // as original creator is credited within this code. It is therefore // not permitted to remove this comment attributing original creator. // This script is provided as-is with no warranty. Neither creator, // nor any person modifying this script takes any responsibility for // any damage caused by this script. // Original version by Przemek "LeD" Liedtke var ax1=argument0,ay1=argument1,ax2=argument2,ay2=argument3, bx1=argument4,by1=argument5,bx2=argument6,by2=argument7; var _ret; //Returned array _ret[0] = 0;//1 for found _ret[1] = 0;//x (if [0]=1) _ret[2] = 0;//y (if [0]=1) var s1_x,s1_y,s2_x,s2_y; s1_x = ax2 - ax1; s1_y = ay2 - ay1; s2_x = bx2 - bx1; s2_y = by2 - by1; var s,t,sp; sp = (-s2_x * s1_y) + (s1_x * s2_y); if sp=0 return _ret; s = ((-s1_y * (ax1 - bx1)) + (s1_x * (ay1 - by1))) / sp; t = (( s2_x * (ay1 - by1)) - (s2_y * (ax1 - bx1))) / sp; if (s >= 0 && s <= 1 && t >= 0 && t <= 1){ // Collision detected _ret[0] = 1; _ret[1] = ax1 + (t * s1_x); _ret[2] = ay1 + (t * s1_y); } return _ret; Zwraca: Tablicę jednowymiarową z trzeba pozycjami: [0]: Czy znalazło punkt styczności [1]: X [2]: Y Smacznego. A i zastosowanie: Użyc lines_intersect na każdym boku, np. tak: //_col to id obiektu ktory sprawdzamy. x1 = _col.bbox_left-1; x2 = _col.bbox_right+1; y1 = _col.bbox_top-1; y2 = _col.bbox_bottom+1; w1 = lines_intersect(x,y,xx,yy,x1,y1,x1,y2); //Left w2 = lines_intersect(x,y,xx,yy,x2,y1,x2,y2);; //Right w3 = lines_intersect(x,y,xx,yy,x1,y2,x2,y2); //Bottom w4 = lines_intersect(x,y,xx,yy,x1,y1,x2,y1); //Top Musisz każdy bok powiększyć o 1 pixel bo inaczej na IDEALNEJ styczności z rogiem nie wykryje go. Nie do końca rozumiem czemu.
    1 punkt
  2. Okey po analizie wszystko ogarnąłem, dzięki za wytłumaczenie
    1 punkt
  3. zamówiłem sobie terminal żeby postawić chmurę w domu - jak się okazało ma być już kolejnego dnia (dzisiaj), a ja liczyłem na jakiś tydzień żeby sobie ogarnąć cokolwiek na DVI. ci cholerni szybcy kurierzy.
    1 punkt
  4. ZenniTX

    Obsługa plików z rozszerzeniem .swf

    Hej, chciałbym nadmienić, że minęło trochę czasu od moich pierwszych bojów z GM i plikami z rozszerzeniem .swf, jednak końcowe wyniki są zadowalające. Jeśli pamiętamy o: - wszystko musi być na jednej, pierwszej warstwie, ale niekoniecznie wszystkie części muszą być połączone (przymus do animacji); - wszystko jest na jednej linii czasu; - "draw_enable_swf_aa(true);" (dla jakości); - interpolacja powinna być włączona w zdecydowanej większości przypadków; Gradient też jest już obsługiwany, jednak nie widoczny w edytorze. Jestem zadowolony z osiągów GM, który radzi sobie z tym lepiej niż Unity ;3 Swoją drogą, podoba wam się załączona grafika?
    1 punkt
  5. ZenniTX

    Obsługa plików z rozszerzeniem .swf

    To zawsze musi być pytanie? Myślałem, że dział grafika to udostępnianie informacji, ocena ORAZ pytania. Nie bijcie, jestem nowy ;3
    1 punkt
  6. I am vader

    Obsługa plików z rozszerzeniem .swf

    Erm, a jak brzmi pytanie? Znaczy, poza pytaniem o załączoną graficzkę, która jest ok.
    1 punkt
Ten Ranking jest ustawiony na Warszawa/GMT+02:00
×
×
  • Dodaj nową pozycję...