Лабиринт – увлекательная игра. Она развивает пространственное и логическое мышление, внимание, наблюдательность, учит предсказывать направление движения предметов. В зависимости от возраста ребенка, можно усложнить прохождение лабиринта, сделать ходы более запутанными, установить препятствия. Также возможно совместить эту игру с заданиями на формирование каких-либо знаний, например таблицы умножения: «составь цепочку».
Как сделать лабиринт во Flash, в котором объект управляется стрелками?
// переменная скорости движения
var speed_mc = 5;
/* переменная расстояния от стенок лабиринта при столкновении прямоугольника с ними, не может быть меньше скорости, иначе объект будет проходить через стены*/
var bounce_mc = 5;
// чтобы объект не уплывал со сцены
mc.onEnterFrame = function() {
// по оси Х влево
if (this._x<10) {
this._x = 10;
}
// по оси Х вправа
if (this._x>540) {
this._x = 540;
}
// по оси У вверх
if (this._y<10) {
this._y = 10;
}
// по оси У вниз
if (this._y>390) {
this._y = 390;
}
};
onEnterFrame = function () {
with (_root.mc) {
/* управление движением прямоугольника с заданной переменной speed_mc скоростью*/
// вверх
if (Key.isDown(Key.UP)) {
mc._y -= speed_mc;
}
// влево
if (Key.isDown(Key.LEFT)) {
mc._x -= speed_mc;
}
// вправо
if (Key.isDown(Key.RIGHT)) {
mc._x += speed_mc;
}
//вниз
if (Key.isDown(Key.DOWN)) {
mc._y += speed_mc;
}
/* проверяем, касается ли прямоугольник стенок лабиринта lab слева, справа по осям Х и У, если касаются, то прямоугольник отодвигается от нее на расстояние заданное в переменной bounce_mc */
if (this.lab.hitTest(getBounds(_root).xMax, _y, true)) {
_x -= bounce_mc;
}
if (this.lab.hitTest(getBounds(_root).xMin, _y, true)) {
_x += bounce_mc;
}
if (this.lab.hitTest(_x, getBounds(_root).yMax, true)) {
_y -= bounce_mc;
}
if (this.lab.hitTest(_x, getBounds(_root).yMin, true)) {
_y += bounce_mc;
}
}
};
Чтобы ролик активировать - кликните по нему мышкой. Управляйте стрелками.
Читать дальше >>>