Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Gra na jQuery czy HTML5?
Forum PHP.pl > Forum > Po stronie przeglądarki
e-mati
Witam!

Piszę do was po poradę. Zrobiłem bardzo prosty prototyp gry na bibliotece jQuery i pluginie do niej gameQuery. Mam na razie chodzenie na kliknięcie i na strzałkach ale nieważne. Zdziwiła mnie przy tym jedna rzecz, a dokładnie po wsadzeniu funkcji mousemove z jQuery obciążnie procesora na Google Chrome skacze do < 25 % na Dual-Core blink.gif . No i moje pytania:

Czy ktoś już może robił kiedyś grę na jQuery i czy warto w ogóle zaczynać programowanie? Czy można zamulić kompa przez jQuery?

I czy nie lepiej zabrać się za naukę HTML5 ? Bo widziałem parę gier na nowym HTML'u, ale nie zaglądałem w kod oneeyedsmiley02.png

Będę wdzięczny smile.gif
Pozdro E-mati.
wookieb
Tak, wszystkie animacje w DOM Javascript są niesamowicie obciążające dla procesora (wielokrotnie bardziej niż taka sama rzecz we flashu). Pozostaje Ci pisać gry w Canvasie, choć FLASH/SILVERLIGHT w tej dziedzinie i tak będzie łatwiejszy w użyciu + wydajniejszy.
Rid
Jeśli chodzi o SILVERLIGHT to technologia ta nie obsługuje grafiki 3d,po za tym nie widzę w niej wad-można rozszerzyć możliwości o usługę WCF(za pomocą tej usługi np.można obsłużyć sesje po stronie klienta),nawet AJAX tego nie umie.
e-mati
Dzięki za odpowiedzi biggrin.gif .

Biorę się za HTML'a 5 Canvas ;p bo Silverlight z tego co na szybko wyczytałem jest płatny, ale poza tym nie przepadam za wytworami Microsoftu.
Rid
Cytat
Biorę się za HTML'a 5 Canvas ;p bo Silverlight z tego co na szybko wyczytałem jest płatny??

A można link do tej strony,gdzie Pan to wyczytałquestionmark.gif?
Z tego co wiem to jest bezpłatny,jest dodatkową techniką programowana w Visual Studio express ,która jest bezpłatną platformą programistyczną.
W Visual Studio express można programować w wielu odmianach języków programowania(CSHTML"C#+Razor ENgine",
ASPX"C#,VB",Silverlight"C#+JS+XML",nawet jest i PHP) dodatkowo jest baza danych MSSQL express i wszystko bezpłatne postawione na serwerze IIS expess.
wookieb
Cytat(Rid @ 22.04.2011, 19:38:26 ) *
Jeśli chodzi o SILVERLIGHT to technologia ta nie obsługuje grafiki 3d,po za tym nie widzę w niej wad-można rozszerzyć możliwości o usługę WCF(za pomocą tej usługi np.można obsłużyć sesje po stronie klienta),nawet AJAX tego nie umie.

Flash wspiera natywnie, nie wiem jak silverlight ale nawet jeżeli nie to już powstały frame-y do obsługi 3d
e-mati
Pisałem, że na szybko wyczytałem tutaj: http://eclare.pl/artykuly/co-to-jest-flash...rto-je-stosowac. Ale to i tak nie ważne bo tak jak pisałem nie przepadam za wytworami Microsoftu, wole rozwiązania open source lub jakieś bardziej przyjazne dla programistów.
TheSnake
Te rzeczy jak Visual Studio, C#'arpy, Silverlight'y to jedne z najlepszych rzeczy Microsoftu.

Dziwne, że nie przepadasz z za wytworami MS, a używasz jQuery blink.gif
Cypherq
To jQuery jest wytworem Microsoftu?
TheSnake
Bierze udział w tworzeniu (między innymi dla swojego ASP.NET'a).
Cypherq
Ciekawe, zawsze myślałem, że jedynie zaadpotowało go do swoich projektów i uczestniczy w tworzeniu wtyczek do tej biblioteki.
Po za tym "bierze udział" a "jest jego wytworem" to chyba spora różnica (mimo, że stwierdzenie i tak nie jest prawdziwe).
mat-bi
Pytanie - A czy to jest ważne? Sam uwazam, że C# jest przyjemny w pisaniu, chociaż wolę opensource.

A co do tego - silverlight jest darmowy tak, jak flash. Zresztą pomyśl, płatny system vs ugruntowany na rynku flash? Toż to by było bez sensu
#luq
To zależy jakiego typu to ma być gra. Tak naprawdę w wielu przypadkach edytować co chwila pół drzewka DOM nie trzeba. Natomiast tak jak pisze @wookieb operacje na DOMie należą do jednych z najbardziej obciążających.
Canvas jest fajny tyle, że niektóre rzeczy prościej da się zrobić bez niego - przykład http://wls-team.ovh.org/projects/zstio2/. Trudno za Ciebie zdecydować jeśli nie znamy tego jak ta gra ma wyglądać i działać. Jeśli chodzi o canvas to zajrzyj ma mojego bloga - http://luq10.wordpress.com/category/gamedev/gamemap/

Cytat(e-mati @ 22.04.2011, 17:04:09 ) *
funkcji mousemove z jQuery obciążnie procesora na Google Chrome skacze do < 25 %

A do czego przypisujesz ten event i co robi ta funkcja? Bo jeśli ją przypinasz do document to w sumie dziwne by to nie było smile.gif
e-mati
Kod
$.function($) {
        $("#play").mousemove(function(e){
                var relativeX = e.pageX - this.offsetLeft;
                var relativeY = e.pageY - this.offsetTop;
                $('.spnCursor').html("X Axis : " + relativeX + " Y Axis : " + relativeY);
            });
}


to jest mój kod z użycie mousemove. Gra ma mieć wygląd z góry, chodzenie bohaterem na strzałkach (to już mam) i rzesze botów atakujące go czyli AI. Nie jest tego dużo.

Przy okazji szukania tutków HTML5 Canvas znalazłem gry na webgl, który działa nawet na androidzie i bodajże ipodach i wydaję mi się jeszcze ciekawszym rozwiązaniem.
zegarek84
może poczytaj o keszowaniu obiektów DOM do jakiejś zmiennej w JS zwłaszcza jeśli dany obiekt dosyć często jest wykorzystywany... $('.spnCursor') - to Ci szuka elementów o tej klasie za każdym wywołaniem zdarzenia... a innerHTML niby szybko działa ale także buduje elementy DOM - nie lepiej dobrać się textNode i zmieniać jego wartośćquestionmark.gif
e-mati
Cytat(zegarek84 @ 26.04.2011, 18:37:19 ) *
może poczytaj o keszowaniu obiektów DOM do jakiejś zmiennej w JS zwłaszcza jeśli dany obiekt dosyć często jest wykorzystywany... $('.spnCursor') - to Ci szuka elementów o tej klasie za każdym wywołaniem zdarzenia... a innerHTML niby szybko działa ale także buduje elementy DOM - nie lepiej dobrać się textNode i zmieniać jego wartośćquestionmark.gif


Nie bardzo rozumiem jak podmieniać jego zawartość.

Taki kod może i działa ale zamiast podmieniać to mi dodaję non stop ten kawałek "X Axis : " + relativeX + " Y Axis : " + relativeY do diva.
Kod
var x = document.createTextNode("X Axis : " + relativeX + " Y Axis : " + relativeY);
document.getElementById('spnCursor').appendChild(x);


Nigdy nie używałem textNode i nie bardzo rozumiem jak to się kręci.

P.S. Faktycznie przypisanie $(".spnCursor") do zmiennej trochę pomaga, no nawet bardzo bo użycie procka spadło do max 15% sporadycznie.
zegarek84
ten textnode też możesz utworzyć tylko raz po czym przypisać go do jakiejś zmiennej - wbrew pozorom jako element drzewa DOM to także jest obiekt a nie tekst więc w zmiennej miałbyś referencję do tego textnode, po czym możesz podmieniać po prostu jego warotść textNode.nodeValue = "X Axis : " + relativeX + " Y Axis : " + relativeY;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.