Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   нет реакции на код (http://www.flasher.ru/forum/showthread.php?t=66820)

KA-60 17.07.2005 18:31

нет реакции на код
 
Вложений: 1
Здравствуйте!
Сейчас я изучаю книгу ActionScript 2: программирование во Flash MX 2004. Для профессионалов Гурский ....и дошел до первого проекта-надо написать код определяющий движение мяча...в ходе изучения начал понимать,что на код реакции нету-то есть ввел координаты объектов-но при тестировании объекты остались на месте...почувствовав неладное-скопировал из примера весь код... и ноль реакции ....Я конечно из общества "очумелые ручки"...но увы не могу никак понять в чем проблема :o Единственное....сравнивая что получилось у меня с примером-нашел одно отличие-не знаю существенно ли оно-но...в общем посмотрите примеры:)я там обвел в чем разница...то есть при совершенно одинаковом коде...у меня ничего не работает-а в примере из учебника все нормально-так что если кто сможем мне объяснить в чем дело-буду весьма благодарен
Удачи всем.

KA-60 17.07.2005 18:32

Вложений: 1
вот как у меня...

Nirth 17.07.2005 18:44

а еще меньше нельзя было сделать чтоб вообще ничего видно не было

old_dark_elf 17.07.2005 19:35

:d нде...
хорошо у меня зрение хорошее :) - у тебя разница только в названии слоя, в котором написан скрипт, но это не влияет на его исполнение...

есть предположение, что ты используешь разные имена обьекта в скрипте и в сцене (например обьект назван баллс, а в скрипте используешь балл)...

KA-60 18.07.2005 00:37

Вложений: 1
дык я сделал большое разрешение...но файлик не влезал....даже если его заархивировать....самое смешное...я понимаю что может особой разницы Action или Actions нету...но в исходный файл-пример из учебник...вставил код простейший-на примере которого объясняется зачем все это нужно-и все заработало....стоит вставить в мой файл-все опять не работает...названия объектов....ball, contour и shade....вот код который должен получиться в итоге...

ball._x = -50;
ball._y = 170;
contour._x = -50;
contour._y = 170;
var X0 = -50;
var Y0 = 70;
var t = 0;
var a = 4;
var Vy = 0;
var Vx = 12;
var newX=null;
var newY=null;
var newV=null;
_root.onEnterFrame = function() {
if (ball._y>350) {
Vy = -newV*0.85;
Vx = 0.85*Vx;
t = 0.6;
X0 = newX;
Y0 = newY;
}
ball._y = Y0+Vy*t+a*t*t/2;
ball._x = X0+Vx*t;
contour._x = ball._x;
contour._y = ball._y;
contour._rotation += 23;
newV = Vy+a*t;
newY = ball._y;
newX = ball._x;
t += 0.6;
};

Сейчас понимаю что дело конечно же не в том как написано Action....а в названии идентификатора...Мне показалось что я нашел ошибку...ведь что я делал...выбирал необходимый слой-к примеру где мяч,жал на F8...выбирал тип Movie Clip писал имя "ball" и жал ОК...сейчас,я подумал что ошибка в том-что не поставил галочку Export ActionScript...поставил....и в поле identifer написал ball...только это не помогло...там еще одно поле не заполненным осталось AC 2.0 Class может туда тоже надо вписать что-нить?....скриншот терь в исправленном формате:)сорри за прошлые разы:)

Pigeon 18.07.2005 00:42

а это, случайно, не поэтому
Цитата:

Я пытаюсь изменить свойства _x / _y / ряд других компонента ComboBox, но ничего визуально не меняется! Трейс выводит, что все поменялось! Как быть?

Почитайте Using Components, главу Creating Components, и вам станет ясно, в чем дело. Компоненты версии 2 сильно инкапсулированы и всегда наследуют у одного из двух корневых классов: UIObject / UIComponent. При этом при изменении любого getter-setter-а перерисовка откладывается методом invalidate(), наследуемым у UIObject. Invalidate просто вызывает private метод, который заставляет компонент при следующей смене кадра перерисоваться, поэтому трейсы и выводят вам все, как вы хотите. Но есть одно большое НО: для таких сложных компонентов, как ComboBox, внутри проводится масса проверок и именно это сводит ваши действия на нет.

Выходов два: пользоваться методом move(), который есть у любого UI компонента, либо использовать листнеры и следить за событием draw (о нем можно посмотреть в хелпе, статья UIObject.draw).

old_dark_elf 18.07.2005 01:03

тебе нужно назвать "балл" обьект, который лежит в сцене, т.е. нажимаешь на символ, идешь в его свойства и пишешь в поле инстэнс нэйм "балл"...

MIX-er 18.07.2005 04:15

дааа... сильно...

KA-60 18.07.2005 14:41

мда...действительно сильно...............не там я его "обзывал"......терь все нормально....old_dark_elf спасибо:)
...Зато прочитав все написанное тут-вы поймете какие ж вы гении...на таком фоне:)))))))))))))

KUZEN 18.07.2005 19:42

на жёлтом фоне ... ужас ... ))))


Часовой пояс GMT +4, время: 11:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.