Skocz do zawartości

Tymon

Użytkownicy
  • Postów

    5 841
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    5

Treść opublikowana przez Tymon

  1. Jeśli przebijesz funkcjonalnością Lite GG przy zachowaniu prostoty, to zyskasz wiernego użytkownika. :D
  2. Tymon

    Praca domowa

    Spoko, mówisz o różnicach pokoleń, a ja chodzę z Twoimi równolatkami do klasy. ;) Znaczy z '91, nie wiem czy Ty już po 19, czy przed 20.
  3. Tymon

    Praca domowa

    Pieprzysz głupoty, fakt, co kraj to obyczaj, ale mnie od gejów nigdy nie wyzywali, a od 5 lat pomagam ludziom z matematyką w szkole. ;)
  4. Tymon

    Praca domowa

    GML // 7x + y +16 = 0 A[0] = 7; B[0] = 1; C[0] = 16; // 3x + 4y - 36 = 0 A[1] = 3; B[1] = 4; C[1] = -36; // 4x - 3y + 2 = 0 A[2] = 4; B[2] = -3; C[2] = 2; // Ax + By + C = 0 // -By = Ax + C // y = (A/-B)x + (C/-B) for( i = 0; i < 3; i += 1 ) { AA = A / -B; BB = C / -B; } // y = ax + b // y = cx + d // ax + b = cx + d // ax - cx = d - b // x( a - c ) = d - b // x = ( d - b ) / ( a - c ) for( i = 0; i < 3; i += 1 ) { ii = ( i + 1 ) mod 3; X = ( BB[ii] - BB ) / ( AA - AA[ii] ); Y = AA * X + BB; } // d = ( ( x1 - x2 ) ^ 2 + ( y1 - y2 ) ^ 2 ) ^ 0.5 L = 0; for( i = 0; i < 3; i += 1 ) { ii = ( i + 1 ) mod 3; D = power( power( X - X[ii], 2 ) + power( Y - Y[ii], 2 ), 0.5 ); L += D; } show_message( 'k: y=(' + string( AA[0] ) + ')x+(' + string( BB[0] ) + ')#' + 'l: y=(' + string( AA[1] ) + ')x+(' + string( BB[1] ) + ')#' + 'm: y=(' + string( AA[2] ) + ')x+(' + string( BB[2] ) + ')#' + 'A=(' + string( X[0] ) + ',' + string( Y[0] ) + ')#' + 'B=(' + string( X[1] ) + ',' + string( Y[1] ) + ')#' + 'C=(' + string( X[2] ) + ',' + string( Y[2] ) + ')#' + 'L(ABC)=' + string( L ) ); Niech mnie ktoś poprawi jeśli się pomyliłem, pisałem z głowy więc sami wiecie. :P
  5. Co po wyrażeniach, lekko zmieni się źródło i jest się w ślepej kiszce. W sumie można by było polecić http://www.php.net/manual/en/book.simplexml.php choć to może lekkie zamieszanie wprowadzić.
  6. 3. <html> <head> <script type="text/javascript"> onload = function() { // czyszczenie ze zbednych elementow function clear( element ) { if( element.childNodes ) { for( var i = 0; i < element.childNodes.length; i++ ) { if( element.childNodes[i].nodeType !== 1 ) element.removeChild( element.childNodes[i] ); } } return element; } var a = clear( document.getElementById( 'zakladki' ) ); var b = clear( a.childNodes[0] ); var c = clear( a.childNodes[1] ); for( var i = 0; i < b.childNodes.length; i++ ) { if( c.childNodes[i] ) { b.childNodes[i].c = c; b.childNodes[i].i = i; b.childNodes[i].onclick = function() { for( var i = 0; i < this.c.childNodes.length; i++ ) this.c.childNodes[i].style['display'] = 'none'; this.c.childNodes[this.i].style['display'] = 'block'; } c.childNodes[i].style['display'] = 'none'; } else b.removeChild( b.childNodes[i] ); } for( var i = b.childNodes.length; i < c.childNodes.length; i++ ) c.removeChild( c.childNodes[i] ); c.childNodes[0].style['display'] = 'block'; } </script> </head> <body> <div id="zakladki"> <div> <span> Pokaż 1 </span> <span> Pokaż 2 </span> <span> Pokaż 3 </span> <span> Pokaż 4 </span> <span> Pokaż 5 </span> </div> <div> <div> Zakładka 1 </div> <div> Zakładka 2 </div> <div> Zakładka 3 </div> <div> Zakładka 4 </div> <div> Zakładka 5 </div> </div> </div> </body> </html>
  7. 1. div z position:absolute. Najprościej. 2. for( var i = 0; i < group.length; i++ ) { group[i].group = group; group[i].onclick = function() { var count = 0; for( var i = 0; i < this.group.length; i++ ) { if( this.group[i].checked ) count++; } if( count > 3 ) { this.checked = false; return false; } } } group to array z inputami typu checkbox. 3. ?
  8. Tymon

    Foto-galeria

    Mam takie same głośniki w pokoju. :D
  9. Tylko powiedz mi, po co sprawdzać czy alarm[0] == 0 skoro event jest wywoływany gdy już jest równy 0. Co? No to dostał odpowiedź. Niech umieści w alarmie bez warunku i z ponownym ustawieniem alarmu. EDIT To po cholerę czepiasz się tego 0? -1 i kropka. EDIT 2 I jajco. Zoptymalizuj sobie mózg tak samo jak optymalizujesz kod źródłowy. :P EDIT 3 To wiesz czy nie? :>
  10. Nie zmienia jeśli kod sprawdzający jest w step, wtedy może co chwilę sprawdzić stan alarmu, jednak gdy jest np. w zdarzeniu naciśnięcia klawisza to cienko z tym 0. W takim wypadku niech umieści kod generujący przeciwników w zdarzeniu alarmu. GML switch(round(random(13))) { case 0:{instance_create(990,70,object1);} break; case 1:{instance_create(990,90,object1);} break; case 2:{instance_create(990,300,object1);} break; case 3:{instance_create(990,150,object1);} break; case 4:{instance_create(990,200,object1);} break; case 5:{instance_create(990,80,object1);} break; case 6:{instance_create(990,320,object1);} break; case 7:{instance_create(990,64,object1);} break; case 8:{instance_create(990,390,object1);} break; case 9:{instance_create(990,410,object1);} break; case 10:{instance_create(990,254,object1);} break; case 11:{instance_create(990,59,object1);} break; case 12:{instance_create(990,129,object1);} break; case 13:{instance_create(990,368,object1);} break; } alarm[0] = room_speed * 5;
  11. Sprita? Nie obiektu ze spritem? Wczytaj stringa z pliku i użyj string_pos.
  12. W takim wypadku poczytaj o wyrażeniach regularnych, cholernie wygodne narzędzie.
  13. Weź ktoś to zamknij i pousuwaj posty użytkowników. :)
  14. Szczerze mówiąc, z doświadczenia jako administrator, mało kogo obchodzi zdanie innych w tej kwestii. Ogólnie zespół moderujący i tak zrobi po swojemu... znaczy tak jak będzie sprawiedliwie i uczciwie. ;)
  15. Tymon

    Upadek

    GML round( x ) ceil( x ) floor( x )
  16. Tymon

    Upadek

    AntY. Na to, że przykładowy system platformowy GMa jest do kitu nic nie poradzę. :) Wiesz, nie bawmy się w teorie, zrób łopatologicznie tak jak to AntY zaproponował: Tylko działaj na vspeed.
  17. Tymon

    Upadek

    Inaczej, tutaj wchodzi trochę fizyki. Masz tak, prędkość z jaką porusza się obiekt w dół i jego przyspieszenie, odpowiednio vspeed i gravity, a chcesz mieć drogę jaką pokonał. http://pl.wikipedia.org/wiki/Ruch_jednostajnie_przyspieszony To się przyda. Dokładniej ten wzór: s0 = 0, v0 = 0, brakuje nam tylko t, a mamy podane i jest równe gravity. t policzysz z: Tu v0 dalej = 0, po przekształceniu masz: t = v/a Więc Twój obowiązujący wzór na pokonany dystans to: s = (a*(v/a)^2)/2 Zamieniając to na GML przy kolizji z ziemia policzysz wysokość tak: GML wysokosc = (gravity*power(vspeed/gravity,2))/2;Jeśli się nie jebłem to jest ok. Pytania?
  18. Więc może trochę beznadziejnie masz to zaprojektowanie, tak będą szczerym. Podchodzisz do problemu bardzo ogólnie i w łopatologiczny sposób, chcesz co sekundę aktualizować stan gry, co jest... głupie. Za bardzo obciążysz tym serwer jeśli będziesz to robił np. na PHP, gdybyś całą aplikację pisał sam to inna sprawa... ale tego nie robisz, więc rozwiązanie jest następujące: Robisz tabelę w bazie danych z listą sesji użytkowników zarejestrowanych Dajesz w niej pola typu ID sesji, ID użytkownika i przedewszystkim... dokładną datę ostatniej aktywności użytkownika Dzięki dokładnej dacie aktywności wyliczasz delta time, różnicę czasu między każdą z aktywności Delta time wykorzystujesz do każdych obliczeń, np. ilość kasy jaka wpada użytkownikowi do kieszeni co minutę będzie liczona tak:$goldPerSecond = $goldPerMinute / 60; $gold += $deltaTime * $goldPerSecond; Zaraz po każdym wykonaniu kodu który przelicza takie rzeczy aktualizujesz datę aktualnej aktywności na obecną datę. Coś takiego możesz również zrobić z uwzględnieniem pory dnia, np. nocą dostajesz mniej złota, to zwykłe warunki i kilka obliczeń.
  19. Ale to zmienia się na serwerze, na przeglądarce może się zmienić np. tło strony, to tylko efekt graficzny i nie jest on istotny dla działania strony, po jej odświeżeniu wszystko wróci do normy i tak i tak.
  20. W sumie możesz synchronizować zegar na przeglądarce użytkownika z zegarem serwera, pytanie tylko czy jest sens skoro sekunda komputera klienta trawa tyle samo co sekunda na komputerze serwera. :)
  21. Już to zrobiłem. Używaj JS tylko do wyświetlania niektórych informacji, ale nie używaj go jako mechanika która by zarządzała całością.
  22. Bez sensu. Jestem w stanie odciąć funkcję która aktualizuje zegar za pomocą PHP i podmienić na własną.
  23. Użytkownik ma zawsze może manipulować skryptem wykonywanym przez przeglądarkę, tak więc skrypt JS powinien być tylko i wyłącznie elementem wyświetlającym efekty pracy całej reszty ( PHP, SQL etc. ). Czyli: JS w Twoim wypadku powinien wyświetlać stan zegara, ale modyfikacja jego pracy nie powinna wpływać w żaden sposób na pracę reszty.
×
×
  • Dodaj nową pozycję...