Сообщение от 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 l = 0; l < doc.pathItems.length; ++l) {
var layer = doc.pathItems[l];
for(var p = 0; p < layer.subPathItems.length; ++p) {
var subPath = layer.subPathItems[p];
var pointFirst = null;
var pointLast = null;
for(var i = 0; i < subPath.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);
}