пятница, 17 июня 2011 г.

Урок 18. URL-locker

Привет, сегодня я расскажу, как сделать url-lock для флеш игры. Не знаю, есть ли ещё такие уроки или нет.., как-то не искал)
Так вот, что же за url-lock? Когда хочешь продать игру, например, на том же FGL, то появляется вопрос: как же защитить свои игру от всяких невменяемых людей, которые могут просто выложить твою игру в свободный доступ, и спонсоры уже просто не будут покупать её? Аукцион предлагает защиту от некого kindisoft!. Но все два раза, когда я использовал эту защиту, у меня вместо игры был белый экран смерти. Хотя вероятность того, что игру стырят, мала, но лучше перестраховаться.
Для того, чтобы сделать простенький url-locker нужно всего лишь узнать домен сайта, с которого запущена игра и сравнить с правильным доменом.
Вот как это реализуется:


var localConnection:LocalConnection = new LocalConnection();
var Domain:String = localConnection.domain;
const correctDomain:String="flashpuzzle.ucoz.ru";
if(Domain!=correctDomain){
 trace("играйся с сайта "+correctDomain+", хацкер!)");
}
else{
 trace("молодец, играешь с сайта!)");
}


При таком коде "играть" можно будет только с домена flashpuzzle.ucoz.ru

Вот swf, но попробуйте скачать и запустить с компа)




P.S. Я использовал домен flashpuzzle.ucoz.ru потому что swf лежит и подгружается оттуда, если кто-нибудь знает как запилилть swf в блоггер, то напишите в комменты плиз :)

4 комментария:

  1. прикольная штука!!)
    полезно)

    ОтветитьУдалить
  2. Приветствую.
    Спасибо за статьи.
    Можно сделать урок по оптимизации. Например меня интересует способ определения столкновений при мин нагрузке. Т.е. использование чего-то кроме HitTest, знаю еще через getpixel как то делают, вот было бы интересно почитать подробней как.

    ОтветитьУдалить
  3. Спасибо за комменты!) Marcus, мне кажется, что через getPixel будет ещё большая нагрузка :) Но может напишу)

    ОтветитьУдалить
  4. Здесь можно посмотреть про getPixel
    http://xitri.com/2008/09/29/simple-engine-flash-game-top-view-part2.html

    ОтветитьУдалить