К сожалению огорчу вас:) Уроки будут, но...В общем я за это время пока не выкладывал уроки перечитал и пересмотрел куча уроков. И к вашему сожалению понял что тот способ который я вам изложил уже очень сильно устарел и не практичен. Поетом в ближайшую неделю выложу урок по новому методу. Добавлено (05.03.2010, 23:15)
---------------------------------------------
Ну наконец то руки дошли до написания урока:)
И у меня есть две новости одна хорошая вторая плохая. И так , хорошая новость заключаеться в том что созданный ранее герой, а именно его анимация и скрипт по перемещению пока что останеться без изменения. Ожелею свои и ваши нервы
А вот все остальное можете с чистой совестью убивать.
Ну что ж с удалением лишних мувиков и скриптов покончено.
В результате ваша сцена должна выглядеть следующим образом
Code
i=0;
var grav =0;
function dvijenie(){
if (Key.isDown(Key.LEFT))
{
colobok._x-=5;
moving=true;
colobok._xscale=-100;
}
else if (Key.isDown(Key.RIGHT))
{
colobok._x+=5;
moving=true;
colobok._xscale=100;
}
else{
moving=false
}
if (Key.isDown(Key.UP)){
if (jumping==true){
jumping=false;
grav=-13;
}
}
if(moving==true){colobok.nextFrame()}
if(moving==false and jumping==false){colobok.gotoAndStop("pokoy")}
}
Далее создаем символ который будет играть роль платформы(надеюсь вы помните как создавать мувие клипы)
Платформу необходимо разместить строго по центру.
Далее кликаем на слой на котором нарисована платформа и пишем скрипт:
Данная строка вызывает функцию Flor и в качестве параметра передает себя.
С платформой покончено.Возвращаемся на главную сцену и в слое с главным скриптом пишем следующий код.
i=0;
var grav =0;
var pol=new Array();
function Flor(objekt){
pol.push(objekt)
}
function dvijenie(){
if (Key.isDown(Key.LEFT))
{
colobok._x-=5;
moving=true;
colobok._xscale=-100;
}
else if (Key.isDown(Key.RIGHT))
{
colobok._x+=5;
moving=true;
colobok._xscale=100;
}
else{
moving=false
}
if (Key.isDown(Key.UP)){
if (jumping==true){
jumping=false;
grav=-13;
}
}
if(moving==true){colobok.nextFrame()}
if(moving==false and jumping==false){colobok.gotoAndStop("pokoy")}
}
А теперь поподробнее разберемся с тем что мы только что написали
var pol=new Array();
function Flor(objekt){
// objekt=платформа
pol.push(objekt)
}
В первой строке я думаю вам все понятно- это обьявление масива pol в которм будут храниться наши платформы.
Теперь с функцией.
При наличии на главной сцене платформы срабатывает скрипт _parent.Flor(this); который вызывает данную функцию Flor и передает ей себя в качестве параметра objekt и которая в свою очередь заносит этот параметр objekt в массив , другими словами заносит платформу в масив pol.
Теперь напишем функцию для гравитации и для проверки сталкновения героя с платформами.
Code
function gravity(){
colobok._y+=grav;
grav++;
}
функцию гравитации обьяснять не буду так мы уже это проходили.
Code
function ChekStolknovenie(){
for(i=0;i<pol.length+1;i++)
{
if(colobok.hitTest(pol[i])){colobok._y=pol[i]._y-colobok._height/2;grav=0;jumping=false;}
}
}
В данной функции происходит следующее:
Через цикл мы обращаемся к каждой платформе и проверяем сталкнулся ли с ней ГГ, если да то гравитация обнуляеться( Герой перестает падать) и устанавливается на уровень платформы. После этого не забываем подключить все функции в клипе aktion
Теперь можете побаловаться, наставте кучу платформ на сцене и побегайте по ним.
И я думаю каждый из вас заметит что при пересечении ГГ с боковой гранью платформы, ГГ будет устанавливаться на верх платформы. Не пугайтесь, это всего лишь небольшая недоработка. О ней я раскажу в след уроке.А пока что попробуте сами догадаться как это сделать
Надеюсь все понятно обьяснил, просто урок пишу поздно ночью, неймоверно хочу спать и мозг уже не работает:))
исходник тут