Ну вот как и обещал, я написал урок "Как создать эффект прыжка". Данный код не иделален, но он показывает принцип создания такого эффекта. Лучше будет если вы его доработаете. Ну начнем. Создайте на сцене два объекта: один будет обычным прямоугольником с именем "map", а другой будет обычным кружком с именем "hero". Герой должен находится выше карты, иначе он упадет. На все тела на Земле действует гравитация (благодаря ей мы и не улетаем в космос). Поэтому для начала в коде мы должны сделать так, чтобы наш герой все время падал вниз. Для этого сначала создаем переменную "gravity" и делаем так чтобы наш герой все время падал вниз:
onLoad = function () { gravity = 0.9;//создаем гравитацию};onEnterFrame = function () { hero._y += 5*gravity;//Падение героя}
Теперь наш герой будет падать, но нам надо его оставить на карте, поэтому ищем пересечение его с картой:
onLoad = function () { gravity = 0.9;//создаем гравитацию};onEnterFrame = function () { hero._y += 5*gravity;//Падение героя if (map.hitTest(hero)) {//Поиск пересечения героя с картой hero._y -= 5*gravity;//Если пересечение произошло, тоинвертируем гравитацию, т.е герой летит вверх. }}
Осталось сделать сам прыжок. Для этого мы создадим еще одну переменную "timer". Она нужна для того, чтобы прыжок когда-нибудь закончился. И это окончательный код:
onLoad = function () { timer = 0;// в Самом начале таймер равен 0 gravity = 0.9;//создаем гравитацию};onEnterFrame = function () { hero._y += 5*gravity;//Падение героя if (map.hitTest(hero)) {//Поиск пересечения героя с картой hero._y -= 5*gravity;//Если пересечение произошло, тоинвертируем гравитацию, т.е герой летит вверх. timer = 0; Если произошло столкновение, то обнуляем таймер } if (Key.isDown(Key.SPACE)) {//Нажимаем пробел timer++; //Запускаем таймер if (timer<5) { //И если он меньше 5 то герой прыгает, иначе он снова падает hero._y -= 40*gravity;//Ну сам эффект прыжка } }};
Ну вот и все. Спасибо за внимание!!!