Не смог исправить тормоза — сделай громче гудок.

Создаем файл Robots.txt

Встроенный во Flash язык программирования ActionScript

Ну коли уж мой интернет ресурс:) посвящен безопасности, а данная страница языку ActionScript, я попытался увязать два этих понятия в одну статью. Посмотреть на пример и описание кода XSS уязвимости с использованием ActionScript можно здесь.
Изучение языка программирования ActionScript я начал еще в институте. Даже в качестве курсовой работы успешно создал полноценный веб сайт только средствами Flash. К счастью, я безуспешно пытался устроиться на работу в одну компанию, которая занимается разработками Флеш игр. В качестве (вступительного экзамена:) мне нужно было разработать игру лабиринт на Flash с использованием встроенного скриптового языка ActionScript. А, что у меня из этого получилось смотрите сами:

     А вот и моя первая игра на FlashScript



Copyright © 2006. Design by Dmitry.ivanof a.k.a Мастер Итэ

Ну а теперь краткое описание ActionScript кода самой игры:

var numOfSeconds:Number = 60;
//переменная кол-ва секунд для отсчета  
var finalPoint:Number = (new Date()).getTime() + 1000*numOfSeconds; //переменная текущего времени умноженная на кол- во секунд
_root.onEnterFrame = function() { //вызываем обработчик событий на загрузку кадра
var currentTime:Number = (new Date()).getTime(); //в которой объявляем переменную текущего времени
_root.messag=Math.round((finalPoint-currentTime)/1000); //выводим в переменную текстового поля обратный отсчет, путем вычитания из заданного значения, текущее значение даты,
и округляем до целого числа при помощи функции Math.round

if(finalPoint-currentTime<=0) { // если значение меньше или равно нулю то переходим на 4 кадр нашей сцены
gotoAndStop(4);
delete this.onEnterFrame;//выгружаем функцию
}
}
labirint.onEnterFrame=function() //в этой функции я задаю движение для box и проверяю не сталкивается ли она с клипами walls и end
{
with (_root.box) { //переменная позволяющая управлять скоростью для box
var mySpeed = 3; // контролируем расстояние, на которое отскакивает Box от стены после удара
var myBounce = 3; // контролируем нажатия клавиш клавиатуры
if (Key.isDown(Key.DOWN)) //если вниз то прибавляем к координате box._y значение переменной mySpeed
{_y += mySpeed;
}
if (Key.isDown(Key.UP)) //если вверх то вычитаем из координаты box._y значение переменной mySpeed
{_y -= mySpeed; } if (Key.isDown(Key.LEFT)) //если влево то вычитаем из координаты box._x значение переменной mySpeed
{
_x -= mySpeed;
}
if (Key.isDown(Key.RIGHT)) //если вправо то прибавляем к координате box._x значение переменной mySpeed
{
_x += mySpeed;
} // определяем, соприкасаются ли края box со стенками walls лабиринта labirint
if (this.walls.hitTest(getBounds(_root).xMax, _y, true))
//если клип walls пересекается с максимальным значением координаты box._x, то значение координаты box._x уменьшается на значение переменной myBounce
{
_x -= myBounce;
}
if (this.walls.hitTest(getBounds(_root).xMin,_y, true)) //если клип walls пересекается с минимальным значением координаты box._x, то значение координаты box._x увеличивается на значение переменной myBounce
{
_x += myBounce;
}
if (this.walls.hitTest(_x, getBounds(_root).yMax, true)) //если клип walls пересекается с максимальным значением координаты box._у, то значение координаты box._у уменьшается на значение переменной myBounce
{
_y -= myBounce;
}
if (this.walls.hitTest(_x, getBounds(_root).yMin, true)) //если клип walls пересекается с минимальным значением координаты box._y, то значение координаты box._y увеличивается на значение переменной myBounce
{
_y += myBounce;
}
// проверяем, закончился ли лабиринт
if (_root.end.hitTest(_x, getBounds(_root).yMax, true)) //если клип end пересекается с клипом _root.box, мы вызываем функцию перехода на 3 кадр нашей сцены
{
_root.gotoAndStop(3);
delete _root.onEnterFrame; //выгружаем функцию, что-бы небыло перехода на четвертый кадр по выполнению условия окончания времени //stop();
}
}
};

 

X