Найти в Дзене

Action Script 2.0 управление персонажем

Итак Flash давно умер как и ActionScript. Так зачем же ковыряться в мертвом языке? Раскачивать, как говориться, этот маятник?

Возможно по той же причине что заставляет запиливать проги под DOS на BorlandPasale или покупать на Avito ZX Spectrum и часами просиживать у доисторического магнитофона в попытке загрузить в ОЗУ хоть что-нибудь помимо операционки. А может это желание связано с духом исследователя, сталкинга во всех его проявлениях, что позволяет погрузиться в атмосферу мистицизма и Кастанедовского тумана, поставив тем самым под сомнение основы реальности. Может быть. Очень может быть...

Если что нибудь подтолкнуло читать дальше, то вот пошаговый план для начала погружения в мир компьютерной магии.

Первое - качаем из сети Macromedia Flash 8 который в избытке имеется на "сторонних" ресурсах. Прогоняем в Virus Total - видим наличие трояна обнаруженного парой маргинальных антивирусов, проверяем установленным на пк Avast-ом, видим что всё чисто, выключаем внутреннего параноика и смело устанавливаем. Когда с установкой покончено приступаем ко второй части марлезонского балета - кодингу. Но перед этим..

Перед этим немного поработаем художником и нарисуем к примеру анимированный смайлик такой как этот

анимированный смайл. с 1 по 10 кадр - анимация глотания. 11 кадр Layer3 - код возврата на кадр 1 (gotoAndPlay(1);) с 12 по 40 кадр - анимация бездействия. 40 кадр Layer3 - код возврата на кадр 12 (gotoAndPlay(12);)
анимированный смайл. с 1 по 10 кадр - анимация глотания. 11 кадр Layer3 - код возврата на кадр 1 (gotoAndPlay(1);) с 12 по 40 кадр - анимация бездействия. 40 кадр Layer3 - код возврата на кадр 12 (gotoAndPlay(12);)

Хочешь узнать подробнее как это сделать? Переходи по ссылке и смотри видео на моем ютуб канале https://youtu.be/MSXqQzffJts

Итак основная часть - кодинг на сцене в первом кадре.

делаем первый кадр - ключевым - открываем окно Actions и вбиваем код
делаем первый кадр - ключевым - открываем окно Actions и вбиваем код

var n:Number = 1; // Счетчик числа вызовов
var ns:String = "0";
_root.attachMovie("pacman","pacman",0);
pacman._x = 100;
pacman._y = 100;
//pacman._xscale *= - 1;

pacman.stop();
function newNS(ns1:String):Void {
switch (ns1) {
case "r" :
if (ns!="r") pacman._rotation = 0;
if (ns=="l") pacman._xscale *= -1;

//ns = "r";
break;
case "l" :
if (ns!="l") { pacman._rotation = 0;
pacman._xscale *= -1; }
break;
case "u" :
if (ns=="l") pacman._xscale *= -1;
pacman._rotation = 270;
break;
case "d" :
if (ns=="l") pacman._xscale *= -1;
pacman._rotation = 90;
break;
case " " :
if (ns=="l") pacman._xscale *= -1;
pacman._rotation = 0;
break;
}
ns = ns1;

}
function func():Void {
//trace(n++); // Выводит: 1 2 3 4...

if(Key.isDown(Key.RIGHT) && (pacman._x<(800-pacman._width/2))) { pacman._x++; if (ns!="r") pacman.gotoAndPlay(1); newNS('r');} else
if(Key.isDown(Key.LEFT) && (pacman._x>(0 +pacman._width/2))) { pacman._x--; if (ns!="l") pacman.gotoAndPlay(1); newNS('l');} else
if(Key.isDown(Key.UP) && (pacman._y>(0 +pacman._height/2))) { pacman._y--; if (ns!="u") pacman.gotoAndPlay(1); newNS('u');} else
if(Key.isDown(Key.DOWN) && (pacman._y<(600-pacman._height/2))) { pacman._y++; if (ns!="d") pacman.gotoAndPlay(1); newNS('d');} else
if (ns!=" ") { newNS(' '); pacman.gotoAndPlay(12); }

}
setInterval(func,0);

в результате всех манипуляций должно получиться такое вот произведение

анимированный смайлик - управляемый с клавиатуры (кнопки управления курсором)
анимированный смайлик - управляемый с клавиатуры (кнопки управления курсором)

Хочешь узнать подробнее? Смори видео на моем Ютуб канале https://youtu.be/MSXqQzffJts