Показать сообщение отдельно
Старый 11.12.2012, 23:04   #1618
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Сообщение от HolyDel Посмотреть сообщение
смысл жаловаться на фпс, если он тобой и ограничен на 60. давай снимай ограничения, чтобы железом мериться))
а так все круто, работает быстро и правильно, уважаю.
Исправил, теперь шапка - 500.
Тут не только железо, но важнее броузер и версия.

Спасиб.

iMac (2.7 GHz Intel Core i5)
Firefox: 25 - 55
Chrome: 135 - 170
HTC One X: 7 - 9 (stock browser), 3 (Chrome), 7 - 9 (Firefox).


ЗЫ, левел сделал используя Photoshop и написал скрипт на JavaScript.
Всё просто - взял картинку плана замка, растянул на документ такого же размера как и canvas. Далее используя Pen Tool, обрисовал все стены. Далее скрипт пробегается по выделенному слою (хз почему только выделенный слой, но другие не заморачивался искать, т.к. всё сделал в одном слою). И находит все точки Path'а, и генерирует строку JSON, с отрезками. Далее эта строка копи-паститься в исходник для демки, и юзаются данные от туда для генерации линий уровня

Фотожоп рулит, и делать так уровни просто сказка.
В аттаче PSD документ, и вот скрипт для ExtendScript'а чтобы через Photoshop запустить:
#target photoshop

app.bringToFront();

$.
level 1;

if (
app.documents.length 0) {
    var 
strtRulerUnits app.preferences.rulerUnits;
    
app.preferences.rulerUnits Units.PIXELS;

    var 
doc app.activeDocument;

    var 
res 'response\nlines = [\n';
    var 
first true;
    
    for(var 
0doc.pathItems.length; ++l) {
        var 
layer doc.pathItems[l];
        for(var 
0layer.subPathItems.length; ++p) {
            var 
subPath layer.subPathItems[p];
            var 
pointFirst null;
            var 
pointLast null;
            for(var 
0subPath.pathPoints.length; ++i) {
                var 
point subPath.pathPoints[i];
                if (
pointLast) {
                    if (
first) {
                        
first false;
                        
res += '  ';
                    } else {
                        
res += ', ';
                    }
                    
res += '{ startX: ' Math.round(pointLast.anchor[0]) + ', startY: ' Math.round(pointLast.anchor[1]) + ', endX: ' Math.round(point.anchor[0]) + ', endY: ' Math.round(point.anchor[1]) + ' }\n';
                }
                
pointLast point;
                if (!
pointFirst) {
                    
pointFirst point;
                }
            }
            
res += ', { startX: ' Math.round(pointLast.anchor[0]) + ', startY: ' Math.round(pointLast.anchor[1]) + ', endX: ' Math.round(pointFirst.anchor[0]) + ', endY: ' Math.round(pointFirst.anchor[1]) + ' }\n';
        }
    }

    
res += ']\n';

    
Window.alert(res);

Изображения
Тип файла: psd map.psd (1.98 Мб, 956 просмотров)
(Offline)
 
Ответить с цитированием