IPB

Здравствуйте, гость ( Вход | Регистрация )

> nextFrame();, _x += работает, nextFrame(); не работает
Ben-Gun
сообщение 13.11.2012 - 10:41
Сообщение #1


Новичок
*

Группа: Пользователь
Сообщений: 9
Регистрация: 13.11.2012
Пользователь №: 11157



Есть мувик ball с анимацией внутри другого мувика - form.
Почему код для перемещения символа работает, а код для перемещения в следующий фрейм анимации символа не работает?
on (release, keyPress "<Left>") {
form.ball._x += 10;
}
***
on (release, keyPress "<Left>") {
form.ball. nextFrame();
}


Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов (1 - 6)
MustLive
сообщение 14.11.2012 - 01:49
Сообщение #2


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4832
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
form.ball. nextFrame();

Ben-Gun

Должен работать, если правильно записать. Возможно ты указал лишний пробел, как это показано в твоём примере кода (перед nextFrame).


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Ben-Gun
сообщение 14.11.2012 - 11:11
Сообщение #3


Новичок
*

Группа: Пользователь
Сообщений: 9
Регистрация: 13.11.2012
Пользователь №: 11157



Цитата(MustLive @ 14.11.2012 - 01:49) *
Ben-Gun
Должен работать, если правильно записать. Возможно ты указал лишний пробел, как это показано в твоём примере кода (перед nextFrame).

я перед тестированием жму Auto format, и на такой пробел Action не ругаетсяsmile.gif в коде ошибки нет, просто, может код не полный, чтобы при таких заданных условиях срабатывал nextFrame();
вот _x, _alpha, _rotation, _xscale срабатывают, а заставить перейти в следующий кадр не могу)
посмотри исходник (Flah8)
form.ball.rar
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
chingachgoog
сообщение 16.11.2012 - 16:47
Сообщение #4


Ветеран конференции
*****

Группа: Пользователь
Сообщений: 1130
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



На мувике ВНУТРИ которого находится клип ball нет имени, а должно быть имя form
Во-вторых в самом клипе ball только один кадр )))


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 18.11.2012 - 00:20
Сообщение #5


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4832
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
Во-вторых в самом клипе ball только один кадр )))

Это всё объясняет smile.gif. И это можно было сделать "во-первых", т.к. с создания более одного кадра в мувике и нужно было автору начинать перед использованием nextFrame().

Касательно же первого пункта. То удивительно, что код передвижения работал при том, что имя form не было указано для мувика. Или оба действия д.б. работать, или оба не работать.

Цитата
я перед тестированием жму Auto format

Ben-Gun, на Auto format надеяться не нужно, а нужно сразу писать корректный код (в том числе синтаксически). Сразу привыкай после точки перед названием свойства или метода не ставить пробел. Как это принято в C++ и других языках с подобным синтаксисом, в том числе и в ActionScript. Проблема здесь не в коде, а на сцене ролика, как уже было сказано, но и синтаксис не забывай правильно записывать. Как и не забывай добавлять кадры в мувики wink.gif.


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Ben-Gun
сообщение 18.11.2012 - 14:02
Сообщение #6


Новичок
*

Группа: Пользователь
Сообщений: 9
Регистрация: 13.11.2012
Пользователь №: 11157



спасибо за ответы! разобрался)
хотя проблема была не в отсутствии Instance name (для файла, чтобы скинуть его на форум, в спешке забыл вписать), и не в том, что у символа ball один кадр (там их три, и во всех мяч находится в разных положениях; chingachgoog, ты, наверное, дважды кликнул на символе ball в библиотеке - и зашел тем самым в его shape) smile.gif
путаница возникла с имена клипов в коде:
например, чтобы увеличить (повернуть, сдвинуть, изменить прозрачность) вложенный ball, нужно прописать оба имени: form.ball.
on (release, keyPress "<Left>") {
form.ball._xscale +=20
}

а чтобы применить nextFrame(); для вложенного символа достаточно только имени form,
on (release, keyPress "<Left>") {
form.nextFrame();
}
причем, если вписать оба имени, ничего происходить не будет.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 29.11.2012 - 00:56
Сообщение #7


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4832
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Ben-Gun, молодец, что разобрался smile.gif. Рады были помочь.

Во флешках, будь-то оригинал, или копия сделанная для того, чтобы показать на форуме, всегда указывай Instance name для всех объектов, с которыми ты работаешь в AS.

Цитата
причем, если вписать оба имени, ничего происходить не будет.

Это странная ситуация. Ибо если ты обращаешься к form.ball, то и изменения будут для клипа ball (как то смещение по оси x). А если ты обращаешься к form, как то form.nextFrame(), то переход на следующий кадр будет в мувике form. Использование абсолютных путей может помочь. Но раз у тебя заработало, то и хорошо.


--------------------
Best wishes & regards,
MustLive
Администратор сайта
http://mlfun.org.ua
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 22.05.2013 - 04:40