All streams
Search
Write a publication
Pull to refresh
21
0
Bohdan Liashenko @bob_lyashenko

Пользователь

Send message
омг… это перевод… сори.
если не учитывать качество кода, то все гуд.
зачем делать
(function() {
, если вы потом в ней же пишите
window.Sprite = Sprite;
, юзаете обертки анонимных функций, но в другом месте пишите
var bullets = [];
var enemies = [];
var explosions = [];

var lastFire = Date.now();
var gameTime = 0;
var isGameOver;
var terrainPattern;

старайтесь все таки писать аппликейшн, а не набор функций в перемешку с переменными. (прошу прощения за резкость, уже ночь а я еще на работе=)
тип того, все старые проекты, в которых код явно отличается от того, что сейчас — «проекты молодости».
делал когда то в молодости идентичный продж. там еще Backbone юзался и тому подобное. могу показать, сравните.)
с пиратскими шляпами, конечно, красота. Думаю, стоит их вместе с приложением продавать, как необходимый атрибут, для полного погружения в игру)
что вы подразумеваете под словом «качество»? сколько производителей — столько и «качеств». а у «мощи» по крайней мере понятный численный показатель.
ну, если все бы говорили «зачем» — мы бы сейчас в каменном веке были. это круто, что технологии так быстро развиваются. Тут у меня уже скорее вопрос, сколько будет держать батарея и т.д.
function Class() {
  return new function() {
      this.doAnything = function() {
         //--
      }
  } 
}

var classObj = Class();
classObj.doAnything();  

без new, как Вы и хотели (естественно все упрощено)
вы Class и так глобально вызываете, я о том что не нужно глобальное пространство засорят кастомными классами типа Person
Class('Person', [], {

если Вы уже упоминали MooTools, то там
var Person = new Class(properties);

и ели по Вашему коду, то return сделать
window[name] = function(){

даже не знаю… сколько уже говорим о пространстве имен.
нет, это был бы полноценный самостоятельный фреймворк, а не «полу плагин» для jQuery.
Требования
Библиотеке требуется jquery

все не плохо, но думаю без jQuery можно было сделать.
с замечаниями согласен. Еще много чего можно было добавить, чтобы усовершенствовать интеллект спасателя, но в данном задании этого не требовалось (а как уже сказал, время поджимало).
А вообще алгоритм Дейкстры, все-таки, не ИИ;)

можно пруф-линк на это?
и в IE9 не работает. это не очень хорошо…
извините, но
этот код предзагрузки
var loaded = 0;
var allImgs = 3;
function imgonload() {
	loaded++;
	if (loaded == allImgs) {
		afterLoad();
	}
}
var img1 = new Image();
img1.src = 'img1.png';
img1.onload = imgonload;
var img2 = new Image();
img2.src = 'img2.png';
img2.onload = imgonload;
var img3 = new Image();
img3.src = 'img3.png';
img3.onload = imgonload;

var spr1, spr2, spr3;
function afterLoad() {
    spr1 = new Sprite(img1, 3);
    spr2 = new Sprite(img2, 3);
    spr3 = new Sprite(img3, 3);
}

выглядит не очень. мягко говоря.

смотрите, недавно писал
более красивую реализацию
images: [
            { url: 'images/en_blue.png' },
            { url: 'images/en_white.png' },
            { url: 'images/en_red.png' }        
 ],        
        
loadCount: 0,
                
load: function() {
    var self = this,
        max = this.images.length;
               
        for (var i = max; i--;) {    
            this.images[i].img = new Image();                    
              
            this.images[i].img.onload = function () {                
                self.loadCount++;                
                                                        
                if (self.loadCount == max) {                    
                    self.loadComplete();                        
                }
            }                            
            this.images[i].img.src = this.images[i].url;
        }
 }


chrome 26.0.1386.0 dev-m, и его диспетчер задач показывает сколько тянет какая вкладка.
хм. на моем «среднем» ноутбуке (intel core 2, 2.2 ГГц) — 1% (это при стартовом количестве объектов).
да, в нашем случае это так. это было написано уже на рефлексах (выработанных нашим любимым браузером, или как минимум его брендом), плюс, хотелось все таки показать, как правильно делать эту проверку.
да, возможно здесь будет более уместно слово «минификация», так как здесь говорилось об уменьшении размера файла. Одним из свойств обфускации является Оптимизация программы с целью уменьшения размера работающего кода и (если используется некомпилируемый язык) ускорения работы. Написал по-привычке, так как при релизе всегда обфусцирую код (и для уменьшения размера и для других целей).
о тройке
знал что вы об этом скажите. да, и ее также стояло переменной сделать. цифра была подобрана вручную, причем после долгих попыток, в одно время она даже по каким то формулам считалась. отвечает за то, что функции moveTo для элементов будут вызываться каждый третий кадр.

о условных операторах
да, это будет как минимум компактней, улучшение: используем тернарную условную операцию, спасибо, человеку выше…

хаки IE8- это вы о загрузке изображения?
не проверял, будет ли такое в той же 9-ой версии, но если и нет, то это просто подход — сначала слушатель, потом событие. А был какой то другой продж(без канваса), там также была загрузка изображений, и в 8-м IE долго искал ошибку в логике, пока не увидел это место со слушателем события, попытался уберечь многих от поисков.

Information

Rating
Does not participate
Location
Stockholm, Stockholms Län, Швеция
Date of birth
Registered
Activity