Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Изменение скорости
Flash Zone Forum > Macromedia Flash > ActionScript
Fess
Уважаемые, прошу помощи.
Есть клип,который управляется с помощью стрелок на клавиатуре. При пересечении с другим клипом первый должен изменить скорость. Как это можно сделать?
tiHo
Вопрос в том как изменить скорость, или как обнаружить что он пересекся с другим?
Fess
Цитата(tiHo @ 30.12.2009 - 12:18) *
Вопрос в том как изменить скорость, или как обнаружить что он пересекся с другим?

КАК ИЗМЕНИТЬ СКОРОСТЬ. ПЕресечение я записываю:
n.hitTest(m)
chingachgoog
Цитата(Fess @ 30.12.2009 - 13:03) *
Есть клип,который управляется с помощью стрелок на клавиатуре. При пересечении с другим клипом первый должен изменить скорость. Как это можно сделать?


Это ведь вы УПРАВЛЯЕТЕ клипом (значит вы и задаете ему как-то скорость). Кто же как не вы должен знать, как эту скорость изменить? Я, например, не могу угадать каким из многочисленных способов задано движение (и стало быть скорость) вашего клипа.
Fess
Цитата(chingachgoog @ 30.12.2009 - 12:25) *
Это ведь вы УПРАВЛЯЕТЕ клипом (значит вы и задаете ему как-то скорость). Кто же как не вы должен знать, как эту скорость изменить? Я, например, не могу угадать каким из многочисленных способов задано движение (и стало быть скорость) вашего клипа.

Код для управления клипом:
if(Key.isDown(Key.LEFT)){
_x-=5;
}
if(Key.isDown(Key.RIGHT)){
_x+=5;
}
if(Key.isDown(Key.UP)){
_y-=5;
}
if(Key.isDown(Key.DOWN)){
_y+=5;
}
}
chingachgoog
Цитата(Fess @ 30.12.2009 - 13:27) *
_x-=5;
_x+=5;
_y-=5;
_y+=5;


И...? Что, по-вашему означает цифра "5"?
Fess
Цитата(chingachgoog @ 30.12.2009 - 12:37) *
И...? Что, по-вашему означает цифра "5"?

Количество единичных отрезков при перемещении по осям.
Fess
Чтож, видно никто не знает.
HaWK
Цитата
Чтож, видно никто не знает.

Fess, для начала нужно объявить переменную скорости. Само слово "переменная" вам ни о чём не говорит? Чтобы динамически менять скорость нужно создать переменную.

Код
var speed = 5;
Fess
Цитата(HaWK @ 30.12.2009 - 13:13) *
Fess, для начала нужно объявить переменную скорости. Само слово "переменная" вам ни о чём не говорит? Чтобы динамически менять скорость нужно создать переменную.

Код
var speed = 5;

Я так понял этот код нужно поместить в :
Код
onClipEvent(load){


?
HaWK
Цитата(Fess @ 30.12.2009 - 16:43) *
Я так понял этот код нужно поместить в :
Код
onClipEvent(load){


?

Можно и туда. Но лучше писать код в кадре. Зачем нужно писать в мувиках? Советую - напишите всё в кадрах.
Fess
Задал переменную скорости, написал код :
Код
if(n.hitTest(m)){
        var speed = 15;
    }

и...
ничего!
Подскажите, пожалуйста, где ошибка, или что я непрвильно делаю.
HaWK
Цитата
Задал переменную скорости, написал код :
Код
if(n.hitTest(m)){
        var speed = 15;
    }

и...
ничего!

smile.gif
Переменную нужно объявлять ни при столкновении, а отдельно от всего кода (лучше в самом начале)


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

На ошибку я уже указал - не в том месте объявили переменную. Сначала её нужно объявить, а уж потом где нужно менять её значение.
Fess
Цитата(HaWK @ 30.12.2009 - 15:05) *
smile.gif
Переменную нужно объявлять ни при столкновении, а отдельно от всего кода (лучше в самом начале)
На ошибку я уже указал - не в том месте объявили переменную. Сначала её нужно объявить, а уж потом где нужно менять её значение.

Юбьявить я обьявил в начале кода.
Эта функция проверяет столкновыние.
HaWK
Вот как должен выглядеть код:
Код
var speed = 5;

_root.onEnterFrame = function() {
    if(Key.isDown(Key.RIGHT)) {
        n._x += speed;;
    }
    if(Key.isDown(Key.LEFT)) {
        n._x -= speed;
    }
    if(n.hitTest(m)) {
        speed = 10;
    }
};


Условия: 1-ый мувик - "n"; 2-ой мувик - "m"; FPS - 20;
Не понимаю, что сложного?
Fess
Цитата(HaWK @ 30.12.2009 - 15:13) *
Вот как должен выглядеть код:
Код
var speed = 5;

_root.onEnterFrame = function() {
    if(Key.isDown(Key.RIGHT)) {
        n._x += speed;;
    }
    if(Key.isDown(Key.LEFT)) {
        n._x -= speed;
    }
    if(n.hitTest(m)) {
        speed = 10;
    }
};


Условия: 1-ый мувик - "n"; 2-ой мувик - "m"; FPS - 20;
Не понимаю, что сложного?

Ещё не проверил,но всё равно спасибо. Просто во флэше я новичок.
HaWK
Пожалуйста, Fess. А что мешает набирать знания? Читайте книги на нашем форуме.
Fess
Цитата(HaWK @ 30.12.2009 - 15:21) *
Пожалуйста, Fess. А что мешает набирать знания? Читайте книги на нашем форуме.

Спасибо ещё раз. А что бы вы посоветовали прочитать первым?
HaWK
Цитата(Fess @ 30.12.2009 - 18:39) *
Спасибо ещё раз. А что бы вы посоветовали прочитать первым?

Смотря что хотите делать с Флэшем. И смотря на какой версии языка хотите программировать.
Если на AS 2.0, то сначала:
http://flashzone.ru/forum/index.php?showtopic=2166
http://flashzone.ru/forum/index.php?showtopic=2160
Fess
Цитата(HaWK @ 30.12.2009 - 16:10) *
Смотря что хотите делать с Флэшем. И смотря на какой версии языка хотите программировать.
Если на AS 2.0, то сначала:
http://flashzone.ru/forum/index.php?showtopic=2166
http://flashzone.ru/forum/index.php?showtopic=2160

Меня больше интересуют игры и их создание.
HaWK
Цитата(Fess @ 30.12.2009 - 19:23) *
Меня больше интересуют игры и их создание.

Ну тогда книга Джоба Макара, как раз для вас. Я сам тоже в этом направлении.

PS Это уже оффтоп пошёл. Все вопросы в личку.
Fess
Спасибо ещё раз!
Благодаря вашим советам у меня получилась маленькая и простая игра. Я очень доволен.
HaWK
Цитата(Fess @ 30.12.2009 - 20:52) *
Спасибо ещё раз!
Благодаря вашим советам у меня получилась маленькая и простая игра. Я очень доволен.

Пожалуйста, Fess. Может выложите свою игру - посмотрим. Скажем, что можно сделать лучше. Выложить можно в разделе Flash-игры.
Fess
Цитата(HaWK @ 30.12.2009 - 18:26) *
Пожалуйста, Fess. Может выложите свою игру - посмотрим. Скажем, что можно сделать лучше. Выложить можно в разделе Flash-игры.

Прошу прощение за отсутствие.
Эта игра - моя первая и, если честно, мне немного страшновато вылаживать её. Но скриншоты я вам покажу.
Но у меня проблема. После совершенствования графики (в начале у меня было два цвета синий и чёрный) игра начала тормозить. Что же можно сделать?


Сюжет игры:
Вы должны убежать от рыбы-ежа, не наткнуться на стенки лабиринта и на пузыри.
HaWK
Цитата
Эта игра - моя первая и, если честно, мне немного страшновато вылаживать её.

Не бойтесь, мы не монстры smile.gif

Цитата
Но скриншоты я вам покажу.

Не плохо.

Цитата
После совершенствования графики (в начале у меня было два цвета синий и чёрный) игра начала тормозить. Что же можно сделать?

Я не понял суть вопроса.

PS Fess, создайте отдельную тему для своей игры. Сдесь обсуждать её не стоит, так как это не соответствует названию темы.
MustLive
Обсуждение игры в другой теме.

Цитата
Но скриншоты я вам покажу.

Fess

Как будет игра не тормозить, то спокойно выкладывай её в Интернет wink.gif.

А судя по скриншотам, игра неплохая.

P.S.

Цитата
1.bmp

Fess, попробуй загружать на форум не bmp-шки, а jpg-и. Старайся в интернете, при размещении на сайтах или посылке по емайлу, никогда не использовать для изображений формат bmp (а используй jpg, gif или png в зависимости от задач).
Русская версия IP.Board © 2001-2017 IPS, Inc.