Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема с Content (http://www.flasher.ru/forum/showthread.php?t=207646)

mariamarfi 28.04.2014 15:51

Проблема с Content
 
Добрый день, форумчане-программисты. Подскажите мне, пожалуйста. Почему не верно отображаются контенты после клика на выбранную кнопку в Меню? Все кнопки нормально действуют, кроме Training и Reviews.

Код AS3:

import flash.events.Event;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import caurina.transitions.*;
import com.*;
 
stop();
 
var inTween: Tween;
 
inTween = new Tween (container, "alpha", None.easeNone,0,1,1,true);
Tweener.addTween(container, {transition:"easeOut"});
container.gotoAndStop("Home");
 
//=================Navigation=====================//
navigation.btn_MenuHome.addEventListener(MouseEvent.CLICK, HomeF);
navigation.btn_MenuAbout.addEventListener(MouseEvent.CLICK, AboutF);
navigation.btn_MenuTraining.addEventListener(MouseEvent.CLICK, TrainingF);
navigation.btn_MenuTest.addEventListener(MouseEvent.CLICK, TestF);
navigation.btn_MenuReviews.addEventListener(MouseEvent.CLICK, ReviewsF);
navigation.btn_MenuContact.addEventListener(MouseEvent.CLICK, ContactF);
 
function HomeF(Event:MouseEvent):void
{
        Tweener.addTween(container, {transition:"easeOut", onComplete:goNext, onCompleteParams:["Home"]});
        inTween = new Tween (container, "alpha", None.easeNone,0,1,1,true);
}
 
function AboutF(Event:MouseEvent):void
{
        Tweener.addTween(container, {transition:"easeOut", onComplete:goNext, onCompleteParams:["About"]});
        inTween = new Tween (container, "alpha", None.easeNone,0,1,1,true);
}
 
function TrainingF(Event:MouseEvent):void
{
        Tweener.addTween(container, {transition:"easeOut", onComplete:goNext, onCompleteParams:["Traning"]});
        inTween = new Tween (container, "alpha", None.easeNone,0,1,1,true);
}
 
function TestF(Event:MouseEvent):void
{
        Tweener.addTween(container, {transition:"easeOut", onComplete:goNext, onCompleteParams:["Test"]});
        inTween = new Tween (container, "alpha", None.easeNone,0,1,1,true);
}
 
function ReviewsF(Event:MouseEvent):void
{
        Tweener.addTween(container, {transition:"easeOut", onComplete:goNext, onCompleteParams:["Rewiews"]});
        inTween = new Tween (container, "alpha", None.easeNone,0,1,1,true);
}
 
function ContactF(Event:MouseEvent):void
{
        Tweener.addTween(container, {transition:"easeOut", onComplete:goNext, onCompleteParams:["Contact"]});
        inTween = new Tween (container, "alpha", None.easeNone,0,1,1,true);
}
 
function goNext(s:String)
{
        switch(s)
        {
                case "Home":{ container.gotoAndStop(s);break;}
                case "About":{ container.gotoAndStop(s);break;}
                case "Training":{ container.gotoAndStop(s);break;}
                case "Test":{ container.gotoAndStop(s);break;}
                case "Reviews":{ container.gotoAndStop(s);break;}
                case "Contact":{ container.gotoAndStop(s);break;}
                default: break;
        }
 
}
 
//======================== Изменение цвета текста текущей кнопки ====================================================//
 
var _currentBtn:SimpleButton; // Текущая кнопка
 
navigation.btn_MenuHome.addEventListener(MouseEvent.CLICK, butClick);
navigation.btn_MenuAbout.addEventListener(MouseEvent.CLICK, butClick);
navigation.btn_MenuTraining.addEventListener(MouseEvent.CLICK, butClick);
navigation.btn_MenuTest.addEventListener(MouseEvent.CLICK, butClick);
navigation.btn_MenuReviews.addEventListener(MouseEvent.CLICK, butClick);
navigation.btn_MenuContact.addEventListener(MouseEvent.CLICK, butClick);
 
function butClick(e: Event = null)
{
        switch (e.target.name)
        {
                case "btn_MenuHome":
                break;
 
                case "btn_MenuAbout":
                break;
 
                case "btn_MenuTraining":
                break;
 
                case "btn_MenuTest":
                break;
 
                case "btn_MenuReviews":
                break;
 
                case "btn_MenuContact":
                break;
        }
        changeColor(e.target as SimpleButton);
}
 
//==== Функция изменения цвета текущей кнопки=====//
function changeColor(btn:SimpleButton):void
{
        if(_currentBtn)
        {
                (_currentBtn.upState as TextField).textColor = 0xFDBDF9; // Цвет розовый
        }
        _currentBtn = btn;
        //trace(btn.upState);
        (btn.upState as TextField).textColor = 0x3CF525; // Цвет салатовый //Цвет белый  0xF8FAFF
}
//======================== / Изменение цвета текста текущей кнопки====================================================//



Training:
Код AS3:

import caurina.transitions.*;
 
var mcCurr = this;
 
function loadResource(resURL)
{
        var url = resURL;
        var request1 = new URLRequest(url);
        var loader1 = new Loader();
        var mc1 = this.work1.workMc;
 
        var nc = mc1.numChildren;
 
        if (nc)
        {
                var l1 = mc1.getChildAt(0);
                mc1.removeChild(l1);
                l1 = null;
        }
 
        loader1.load(request1);//start loading img/swf
        mc1.addChild(loader1);
 
        loader1.contentLoaderInfo.addEventListener("complete", finished_loading);
        loader1.contentLoaderInfo.addEventListener("progress", progress_loading);
 
}
 
function progress_loading(e:Event)
{
        loader.rotation +=5;
}
 
function finished_loading(e:Event)
{
        loader.visible =false;
        Tweener.addTween(mcCurr, {transition:"easeOut"});
}
 
loadResource("image_gallery_as3.swf");


Akopalipsis 28.04.2014 21:40

У Вас опечатки -
Код AS3:

Tweener.addTween(container, {transition:"easeOut", onComplete:goNext, onCompleteParams:["Traning"]});

Цитата:

"Traning"
И тоже самое в следующем имени.

mariamarfi 29.04.2014 13:20

Исправила ошибку. Спасибо. Сработало.

Training (флэш почему-то не отображается?.. белый экран получается):


Код AS3:

import caurina.transitions.*;
 
var mcCurr = this;
 
function loadResource(resURL)
{
        var url = resURL;
        var request1 = new URLRequest(url);
        var loader1 = new Loader();
        var mc1 = this.work1.workMc;
 
        var nc = mc1.numChildren;
 
        if (nc)
        {
                var l1 = mc1.getChildAt(0);
                mc1.removeChild(l1);
                l1 = null;
        }
 
        loader1.load(request1);//start loading img/swf
        mc1.addChild(loader1);
 
        loader1.contentLoaderInfo.addEventListener("complete", finished_loading);
        loader1.contentLoaderInfo.addEventListener("progress", progress_loading);
 
}
 
function progress_loading(e:Event)
{
        loader.rotation +=5;
}
 
function finished_loading(e:Event)
{
        loader.visible =false;
        Tweener.addTween(mcCurr, {transition:"easeOut"});
}
 
loadResource("image_gallery_as3.swf");


Akopalipsis 29.04.2014 13:49

Возможно я бы и смог Вам помочь, но для начала помогите мне:) Как в адоби кадрам задают лейбел, вот чтобы кадр вызывать по имени?

mariamarfi 29.04.2014 15:41

Ошибка

TypeError: Error #1010: Термин не определен и не имеет свойств.
at Fon_fla::Content_2/loadResource()
at Fon_fla::Content_2/frame8()
at flash.display::MovieClip/gotoAndStop()
at Fon_fla::MainTimeline/goNext()
at Function/http://adobe.com/AS3/2006/builtin::apply()
at caurina.transitions::Tweener$/updateTweenByIndex()
at caurina.transitions::Tweener$/addTween()
at Fon_fla::MainTimeline/TrainingF()

mariamarfi 29.04.2014 15:46

Вложений: 1
Цитата:

Сообщение от Akopalipsis (Сообщение 1164883)
Возможно я бы и смог Вам помочь, но для начала помогите мне:) Как в адоби кадрам задают лейбел, вот чтобы кадр вызывать по имени?

Если я поняла ваш вопрос, вам надо задать пустой ключевой кадр, далее в свойстве на вкладке "Надпись" - введите Имя данного кадра.

Akopalipsis 29.04.2014 15:58

я в кадрах не понимаю, но мне интересно понять их на примере, чем я сейчас и занимаюсь, но я не как не могу найти container. Где он?

mariamarfi 29.04.2014 16:10

Цитата:

Сообщение от Akopalipsis (Сообщение 1164892)
я в кадрах не понимаю, но мне интересно понять их на примере, чем я сейчас и занимаюсь, но я не как не могу найти container. Где он?

На прикреплённом файле-картинки я пометила красным цветом. Container - символ, казалось бы он "невидимый". Кликайте дважды на символ на кадре, тогда появится ещё окно новое, там увидите кадры с label.

mariamarfi 29.04.2014 16:16

Как я создала этот символ container? В панели меню ВСТАВКА-Создать символ или Ctrl+f8, указав его имя. Далее создаёте там же (в символе) кадры. В конце концов созданный полученный символ из библиотеки перенести на "родительский" кадр основной.

Akopalipsis 29.04.2014 17:24

Пока подозрения пали вот на эту строчку в восьмом кадре -
Код AS3:

var mc1 = this.work1.workMc;

Где находится объект [object Content_center__2] ? я его не как найти не могу, а ошибка кроется в нем.
И сразу огромное замечание - у Вас все свойства ( переменные ) не имеют типа, это очень плохо.

Добавлено через 14 минут
Вот this.work1 это ссылка на какой-то MovieClip, а ссылка this.work1.workMc это не могу понять на что ссылка. Если бы это было, как предполагается, ссылка на наследника DisplayObjectContainer ( Sprite, MovieClip ) то значение в худшем случаи было бы null. А у этой ссылки значение undefined, что говорит о том,
что Вы не указали тип и это мешает выявлению ошибки. Если бы были написаны типы, то компилятор возможно даже бы не довел до такой ситуации которая существует сейчас, а показал бы на проблемное место в самом начале.

Добавлено через 14 минут
Мне нужно знать, где находится объект [object Content_center__2]

ZackMercury 29.04.2014 17:52

PHP код:

в худшем случаи 

Интересно, семена, которые кидают участники форума на ваш асфальт когда-нибудь прорастут?
http://arlenshah.files.wordpress.com...pg?w=640&h=480

Akopalipsis 29.04.2014 17:57

А Вам то какое до этого дело?))))))

Добавлено через 1 минуту
Если Вы такой умник взяли бы и помогли человеку, а не фразами клише разбрасываться.

in4core 29.04.2014 18:50

Да че там помогать - берешь проект в руки и делаешь. Это девочка, рассказывать ей основы программирования щас ни к чему. Пусть выложит проект, люди помогут. А так гадать, че там в кадрах понапихано только экстрасексом можно, как любит Akopalipsis

Zebestov 29.04.2014 19:04

Воздержитесь от перебранок и сконцентрируйтесь на теме.

alexcon314 29.04.2014 19:53

Akopalipsis, я не пойму, вы никогда не писали в кадрах, не знаете Flash IDE, откуда такая прыть? Может, предоставить слово кому-то по-опытнее, а не каруселить мозг автору темы?

Akopalipsis 29.04.2014 19:59

Прошли сутки с четвертью, которые доказывают, что всем кто умнее меня очень хочется ответить, но к сожалению у них нет на это время. А что я каруселю? Спросил как лейблы задавать, мне ответили я сразу понял и продолжил. Смог даже загрузить нужную флешку, но с самого начала ошибок столько, что я не выкладываю результат, а ищу и тем временем учусь дальше. Какие-то проблемы?))

ZackMercury 29.04.2014 20:20

Akopalipsis, зачем вам кадры? Вы хотите прийти из мира моделей, вьюшек и контроллеров на свалку, где всё в хаосе, не упорядочено, не удобно?

Akopalipsis 29.04.2014 21:45

mariamarfi у меня получилось исправить ошибку и загрузка работает,
но только не с Вашей галереей. У Вас в ней ошибка и если хотите выкладывайте её я починю.
Вот код исправленного кода в кадре 8, оставил Вам только настроить прогресс бар.
Код AS3:

import caurina.transitions.*;
import flash.net.URLRequest;
import flash.events.Event;
import flash.display.Loader;
import flash.display.MovieClip;
 
const GALLERY_URL:String = "my_test_swf.swf";
 
var galleryLoader:Loader = new Loader();
 
galleryLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_completeHandler);
galleryLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loader_progresshandler);
galleryLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loader_ioErrorHandler);
galleryLoader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, loader_httpStatusHandler);
 
 
try
{
        galleryLoader.load(new URLRequest(GALLERY_URL));
}catch(error:Error)
{
        trace('ОШИБКА!!! блок catch - ' + error.message);
}
 
function loader_completeHandler(event:Event):void
{
        var gallery:Sprite = (event.target as LoaderInfo).content as Sprite;
        this.work1.addChild(gallery);
}
function loader_progresshandler(event:ProgressEvent):void
{
 
}
function loader_ioErrorHandler(event:IOErrorEvent):void
{
        trace(event.errorID);
}
function loader_httpStatusHandler(event:HTTPStatusEvent):void
{
        trace(event.status);
}


mariamarfi 30.04.2014 00:25

Akopalipsis, в самом начале есть прикрепленный файл "Новая папка.rar", там есть несколько файлов.

Akopalipsis 30.04.2014 00:43

mariamarfi ну это-то я знаю, вот только там нет исходника галереи.
я уже говорил, но повторюсь, у Вас в самой галерее ошибка, это я понял после того, как переделал код восьмого кадра и загрузил в него свою swf. И вот чтобы помочь Вам дальше, мне нужно исправить код в галерее. Так что Вы либо выкладывайте исходник галереи, либо сами что-то делайте.

И после дня проведённого за кадрами, мой искренний Вам совет - если хотите заниматься программированием всерьёз, а я думаю что хотите, бросьте адобе флеш и перейдите в FlashDevelop.
Там рисовать нельзя, так-как он предназначен для кода, но это не помешает рисовать в том же адобе, для чего он собственно и предназначен. Вот я сейчас сижу и думаю, что если Вы потратите несколько дней на прочтение всего нескольких глав Колин Мука про классы и зону видимости + скинуть Вам настроенный FlashDevelop, такие подделки Вы будите делать всего за полчаса. Эта программа сама код пишет, так только начинать нужно и она Вам поможет понять типы, которые нужно знать обязательно.

in4core 30.04.2014 01:21

Цитата:

Эта программа сама код пишет
А еще суп варит и на свидания приглашает :)

Akopalipsis 30.04.2014 01:25

Цитата:

и на свидания приглашает
Так вот значит кто над Вами надругался:)

alexcon314 30.04.2014 08:19

Цитата:

Вот я сейчас сижу и думаю, что если Вы потратите несколько дней на прочтение всего нескольких глав Колин Мука про классы и зону видимости + скинуть Вам настроенный FlashDevelop, такие подделки Вы будите делать всего за полчаса. Эта программа сама код пишет, так только начинать нужно и она Вам поможет понять типы, которые нужно знать обязательно.
Продолжаете сотрясать воздух?
Прекратите измываться над русской речью и языком.

Akopalipsis 30.04.2014 13:50

Ой, сорри - паделки:)

ZackMercury 30.04.2014 14:04

Akopalipsis, по девки.

alexcon314 30.04.2014 16:06

Праздничная раздача слонов:
SuriTheAngel получает + за флуд.
Akopalipsis отправлятеся в бан.

mariamarfi 30.04.2014 22:25

Разобралась и нашла свою ошибку, теперь всё сработало. Забыла указать имя одного из символов. Спасибо вам. =)))


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

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