PDA

Просмотр полной версии : кто-нибудь знает javascript?


uti
07.04.2011, 20:34
Пишу сейчас свой игровой движок на JS, вывод графики через канву HTML.
Добрался до загрузки контента. Нужно как-то сделать загрузку из архива или спрайтшита или чего-то ещё. Как такое реализуют обычно?

[7x]WaNgeL
07.04.2011, 21:54
Вот тема вообще =) http://xitri.com/

uti
08.04.2011, 00:49
флэш не подходит хотя бы потому, что мне нужна правая кнопка мыши.

ZeRoCooL
08.04.2011, 10:56
что именно должно подгружаться?
Инфа с сервера или что?

И как эта самая инфа генерится ...
Если "что грузить" сам скрипт решает, то смотря чем пользуешься, как реализовать на чисто javascript я не знаю, а вот на jquery будет нечто вида
$(document).ready(function(){
$("#up1").bind("click", function(e){
$.get("./file.html", function(data) {
$("#msg").append( data );
});

uti
08.04.2011, 20:10
Загружаться должен контент.
Допустим, я делаю игру и не хочу заливать на сервер 9000 спрайтов по отдельности. Их бы как-нибудь упаковать в один файл, чтобы потом javascript мог достать из него всё что нужно.

Pool
10.04.2011, 18:01
Тут есть алгоритмы сжатия строки, насчет архивов я не знаю. http://stackoverflow.com/questions/294297/javascript-implementation-of-gzip

К слову во флеш можно использовать правую кнопку мыши.

[7x]cmd.exe
10.04.2011, 18:10
http://ru.wikipedia.org/wiki/JAR

Java Archiver единственный подходящий варианты для Явы... Если напишешь свой метод для ZIP или RAR будет круто.... XD

uti
10.04.2011, 19:09
Сейчас копаю в сторону CSS-спрайтов. Вопрос в том, можно ли будет применять их на канвасе.К слову во флеш можно использовать правую кнопку мыши.Ну поделись ссылкой, а то дураки на форуме адоба уже который год холиварят, не зная об этом. Подозреваю, что райтклик во флэше реализуется либо хаком, либо перехватом события с помощью JS.Java Archiver единственный подходящий варианты для ЯвыЧто-то я не понял, какое это отношение имеет к javascript?

[7x]cmd.exe
10.04.2011, 21:48
Загружаться должен контент.
Допустим, я делаю игру и не хочу заливать на сервер 9000 спрайтов по отдельности. Их бы как-нибудь упаковать в один файл, чтобы потом javascript мог достать из него всё что нужно.
А чем тебе JAR не подходит???

uti
11.04.2011, 11:52
а ты случаем не перепутал java и javascript?
я не нашёл примеров использования jar-архивов в javascript.
более того, повсюду пишут, что для извлечения jar нужен плагин Java.

ZeRoCooL
11.04.2011, 12:21
не будет оно просто так работать, на сколько я знаю систему, ибо яваскрипты исполняются на машине клиента и выдёргивать куски из архивов с сервера не получится (да и вообще с архивами поработать врятли удастся)

Как вариант, можно залить в bz архиве а с яваскрипта кидать post запрос на выгрузку определенного куска из архива в пых, а оттуда уже клиенту, но это уже не то будет :)

Pool где это есть ПКМ?

ПО ПКМ выпадает меню навигации флеша, а отрабатывать свои действия там нельзя (если не навешивать поверх javascript обработчики)

Pool
11.04.2011, 20:03
Сейчас копаю в сторону CSS-спрайтов. Вопрос в том, можно ли будет применять их на канвасе.Ну поделись ссылкой, а то дураки на форуме адоба уже который год холиварят, не зная об этом. Подозреваю, что райтклик во флэше реализуется либо хаком, либо перехватом события с помощью JS.Что-то я не понял, какое это отношение имеет к javascript?
Да используется JS
http://www.uza.lt/rightclick/

uti
11.04.2011, 22:03
А ларчик просто открывался. У HTML канваса оказывается есть перегруженный вариант метода drawImage(), где в списке параметров задаются координаты обрезки изображения.

uti
16.04.2011, 19:55
Нашёл ещё один забавный способ паковать картинки. Их можно преобразовывать в текстовый вид и помещать прямо в js-файлы. Например, так будет выглядеть мой аватар в javascript-коде.my_avatar.src = "data:image/gif;base64,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"

[7x]cmd.exe
16.04.2011, 22:43
Можно и тело червя поместить в этот JS, я по сикрету скажу, но лучше так не делать....
Так-же при помощи flash player'a можно засунуть в тело червя, который благополучно будет скачен с сервера flash player'ом, и без вопросов запущен.... =)
Есть кстати от этого простая защита, профиксиный flash player от запуска любых файлов без разрешения... Или браузер умеющий перехватывать такие вызовы....