PDA

Просмотр полной версии : несостыковочки с книгой


zzlo
30.09.2009, 16:10
Привет всем!
у меня вопрос: купил книжку по флэшу (8-му).Пытаюсь освоить AS с азов.
У меня стоит flash CS3
там стоит простой пример:
создайте круг и, чтобы он увеличивался при нажатии на него на 10% в размерах, наберите такой код:
onClipEvent (mouseDown) {
_xscale+=10;
_Yscale+=10;
}
Я это всё в точности набрал как написано, а flash мне выдаёт следующую синтаксическую ошибку:
Description: Clip events are permitted only for movie clip instances
Source: onClipEvent (mouseDown) {
В общем хотел попросить содействия! Заранее спасибо!

amesqit
30.09.2009, 16:33
что за книжка? интересно откуда берется такой код?

zzlo
30.09.2009, 16:36
Д.Гурский, Ю.Гурский
"Flash 8 и Action Scrupt только практика!")))
Если посоветуете чего - нить толковее (т.к. взял буквально первое по незнанию) - буду бескрайне признателен!

amesqit
30.09.2009, 17:05
Колин Мук, я вообще как-то по его книгам разбирался и Гурского не читал, судя по примеру, правильно делал :)
по поводу кода, лучше сделать вот так:
mc.onPress = function()
{
this._xscale += 10;
this._yscale += 10;
}
где mc - какой-то клип
onPress - событие в клипе на то что левая кнопка мыши поущена на клипе
код должен находится на том же таймлайне что и клип. но именно на таймлайне, а не на самом клипе.
Код назмещенный на клипах сложнее искать, он обладает плохой гибкостью и вообще у него куча недостатков из-за которых от него следовало отказаться с появлением 6-го флеша. Плюс ко всему если вы решили заниматься изучением языка, то советую вам смотреть литературу по ActionScript 3, например того же Колина Мука, у этого языка больше различных приятных возможностей :)

zzlo
30.09.2009, 17:13
Извините,а что значит "код должен находится на том же таймлайне что и клип. но именно на таймлайне, а не на самом клипе" ?
За совет по книге - большое спасибо!

HunTGuN
30.09.2009, 17:15
on (rollover) {
// Задаем новый размер для увеличения,
newscale = 150;
} on (rollout) {
// Задаем новый размер для уменьшения.
newscale = 100;
}
on (release) {
// Код, исполняемый при нажатии на кнопку.
trace("Home");
}
onClipEvent(load) {
// Начальный размер кнопки 100%.
newscale =100;
onClipEvent(enterFrame) {
if (this._xscale > newscale) {
// Уменьшаем значения параметров.
this._xscale -= 10; this._yscale -= 10;
} else if (this._xscale < newscale) {
// Увеличиваем значения параметров.
this,_xscale += 10;
this._yscale += 10;
}
} попробуй.У меня работало.Делал по Розенцвейг Г.Не плохой учебник.Советую.

amesqit
30.09.2009, 17:24
Вот что это значит (см. вложения), а код на кнопкках/клипах лишает код гибкости, его становится сложнее обнаружить и вообще это зло.

zzlo
30.09.2009, 17:30
ребят!огромное всем спасибо! в голове хоть что-то зашевелилось..)))

amesqit
30.09.2009, 17:32
почитай хелп про класс MoviClip, все должно не только зашевелиться, но и начать бегать и прыгать )))

HunTGuN
01.10.2009, 22:42
Если уж на то пошло у меня тоже не состыковка с книгой.В общем в учебнике есть пример игры(прилагается).Я беру и делаю подобную ей.Все код прописал все дела, но когда я запускаю то мой корабль не хочет летать.Исходник моей игры и игры с учебника прилагается.

http://*****************/files/oe2hsru8n
http://*****************/files/j1f2pd1wq

amesqit
02.10.2009, 12:23
.Я беру и делаю подобную ей.
Если подобную, то книга тут наверняка ни при чем.
мой корабль не хочет летать.
Очень детальное описание проблемы. Такое описание говорит, что в коде вы не разбирались и не пытались.

HunTGuN
02.10.2009, 13:50
под подобной я имел ввиду визуальный вид. Проблема в том что я точь в точь потом повторил все что дается в книге(название переменных, символов и тд) и все равно ничего.Вот меня и вводит это в заблуждение.