![]() |
нет реакции на код
Вложений: 1
Здравствуйте!
Сейчас я изучаю книгу ActionScript 2: программирование во Flash MX 2004. Для профессионалов Гурский ....и дошел до первого проекта-надо написать код определяющий движение мяча...в ходе изучения начал понимать,что на код реакции нету-то есть ввел координаты объектов-но при тестировании объекты остались на месте...почувствовав неладное-скопировал из примера весь код... и ноль реакции ....Я конечно из общества "очумелые ручки"...но увы не могу никак понять в чем проблема :o Единственное....сравнивая что получилось у меня с примером-нашел одно отличие-не знаю существенно ли оно-но...в общем посмотрите примеры:)я там обвел в чем разница...то есть при совершенно одинаковом коде...у меня ничего не работает-а в примере из учебника все нормально-так что если кто сможем мне объяснить в чем дело-буду весьма благодарен Удачи всем. |
Вложений: 1
вот как у меня...
|
а еще меньше нельзя было сделать чтоб вообще ничего видно не было
|
:d нде...
хорошо у меня зрение хорошее :) - у тебя разница только в названии слоя, в котором написан скрипт, но это не влияет на его исполнение... есть предположение, что ты используешь разные имена обьекта в скрипте и в сцене (например обьект назван баллс, а в скрипте используешь балл)... |
Вложений: 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 может туда тоже надо вписать что-нить?....скриншот терь в исправленном формате:)сорри за прошлые разы:) |
а это, случайно, не поэтому
Цитата:
|
тебе нужно назвать "балл" обьект, который лежит в сцене, т.е. нажимаешь на символ, идешь в его свойства и пишешь в поле инстэнс нэйм "балл"...
|
дааа... сильно...
|
мда...действительно сильно...............не там я его "обзывал"......терь все нормально....old_dark_elf спасибо:)
...Зато прочитав все написанное тут-вы поймете какие ж вы гении...на таком фоне:))))))))))))) |
на жёлтом фоне ... ужас ... ))))
|
Kuzen...ну не на голубом же:)
|
каждому своё ... блин но жёлтый же просто глаза режет (((
|
Kuzen...согласен...а ты сам какой цвет используешь?
Но я не только из-за цвета пишу...опять все тот же баскетбольный мяч...я понимаю что опять что-то натворил-только не понимаю где...смысл вот в чем...при одинаковом коде...у меня мяч прыгает ...но его контур движется сам по себе...если этот же код вставить в пример(вернее из примера вставить ко мне)-все работает...контур на мяче.....код прилагается...И не понятно почему при одинаковом коде...два разных эффекта... 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; }; |
Не могу понять что происходит...и почему контур отдельно от мяча движется.....В книге (ActionScript 2: программирование во Flash MX 2004. Для профессионалов Гурский) создание кода для баскетбольного мяча объясняется очень подробно...для начала предлагается сопоставить мяч с его контуром в одной точке...
ball._x = -50; ball._y = 170; contour._x = -50; contour._y = 170; тут проблем не возникает-все работает...Далее предлагается создать простое движение мяча по горизонтальной оси...код следующий... ball._x = -50; ball._y = 170; contour._x = -50; contour._y = 170; _root.onEnterFrame = function() { ball._x += 2; contour._y += 2; }; и уже тут(не говоря уж о полном варианте кода,которые привел в сообщении выше) у меня ничего не получается -контур движется отдельно от мяча-почему такое может происходит и как это исправить?...а то к сожалению не удается понять в чем дело... |
интересно, в книге тоже точно так же? потому что в таком виде
Цитата:
Цитата:
|
be_tween нет-у них все верно написано...это у меня уже маразм:)я написал контуру y...и еще удивлюсь что он не идет по оси x:)осталось только понять почему полный код-который приводил выше не работает-поди снова где-то опечатка...или еще что в этом роде...
|
с полным кодом пока пас - пытался понять, что там к чему, но соображалки не хватило :) ... не исключено, у тебя опять какая-нибудь опечатка вкралась. тут уже если кто поопытней отзовется...
|
Я нашел где проблема, вот в этой строчке
contour._rotation +=23; как только я ее закомментарил-мяч с контуром попрыгали вместе,слившись в едином порыве:)Вопрос знатокам-почему же строка поворота контура вызывает такой вот эффект (отделение контура от мяча)?...На всякий случай привожу еще раз полный вариант кода... 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; }; |
надеюсь ты не собираешься здесь
обсуждать все уроки из гурского..... могу тебя заверить - все рабочие........ просто будь по внимательнееееееееееее. |
перед тем как тестировать проводи работу над ошибками )))
|
//contour._rotation +=23; да....я вижу что тут забыл убрать комментарий-но фишка в том-что убирая комментарий-контур начинает отдельно от мяча двигаться....Я понимаю что надо провести работу над ошибками-но я не понимаю где они...
|
Если сделать Check Syntax то ошибок в коде не находиться...опять таки-извиняюсь,что проглядел закомментаренную строчку...но может кто-нибудь скажет...почему строчка contour._rotation +=23; правильно не работает?
Штрек...а если и собираюсь?:) |
добавил строчку ball._rotation += 23; и контур с мячом воссоединились...правда траектория была какая-то ужаленная и нервная...:)если уменьшить значение вращения до 4...то уже нормально..но опять таки...в примере все работает и без этой дополнительной строчки-тогда почему ж у меня так не получается?
Извиняюсь конечно за непонятливость...но...:) |
почему бы тебе не взять просто пример и переделать его
и не мучаться а так посмотри названия всех мувиков и кнопок ты мог просто их не назвать правильно, помни что еще названия регистрочувствитиельны вот это слово |
dilsh так и сделаю...потому что понять в чем причина ошибки не могу...хотя хотелось бы-дабы ее не повторять в дальнейшем.Название мувиков проверял-все как в примере ....да и потом если бы я ошибся с названиями мувиков-то все бы не начинало работать если закомментарить строку contour._rotation +=23;
|
| Часовой пояс GMT +4, время: 14:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.