Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Не работает код по on(press)? (http://www.flasher.ru/forum/showthread.php?t=95865)

Killer_13 17.05.2007 21:04

Не работает код по on(press)?
 
Есть анимированый мувик на нём указал три положения:
Код:

on(rollOver)
{
        this.gotoAndPlay(2);}
on(rollOut)
{
        this.gotoAndPlay(3);
        }
on(press)
{
this.gotoAndPlay(4);

}

потом вставил в четвёртый кадр самого мувика вот этот код создания галереи:
Код:

portfolioInfo = new XML();
portfolioInfo.ignoreWhite = true;
timeline = this;
baseurl = _url.substr(0, _url.lastIndexOf("/")+1);
portfolioInfo.onLoad = function() {
       
        portfolioTag = this.firstChild;
       
        (count=portfolioTag.childNodes.length);
       
        for (child=0; child<count; child++) {
                currentPicture = portfolioTag.childNodes[child];
                currentThumb = menu_mc.createEmptyMovieClip("thumbnail"+child, child);
                currentThumb._x = child*40;
                image = currentThumb.createEmptyMovieClip("thumbnail_image", 0);
                image.loadMovie(baseurl+currentPicture.attributes.THUMB);
                currentThumb.NAME = currentPicture.attributes.NAME;
                currentThumb.IMAGE = currentPicture.attributes.IMAGE;
                currentThumb.TEXT = currentPicture.attributes.TEXT;
                import mx.transitions.Tween;
                import mx.transitions.easing.None;
                currentThumb.onRollOver = currentThumb.onDragOver=function () {
                        this.tweenX.stop();
                        this.tweenY.stop();
                        this.tweenX = new Tween(this, "_xscale", None.easeNone, this._xscale, 140, 0.3, true);
                        this.tweenY = new Tween(this, "_yscale", None.easeNone, this._yscale, 140, 0.3, true);
                        showName_txt.text = this.NAME;
                };
                currentThumb.onRollOut = currentThumb.onDragOut=function () {
                        this.tweenX.stop();
                        this.tweenY.stop();
                        this.tweenX = new Tween(this, "_xscale", None.easeNone, this._xscale, 100, 0.3, true);
                        this.tweenY = new Tween(this, "_yscale", None.easeNone, this._yscale, 100, 0.3, true);
                        showName_txt.text = this.NAME;
                        showName_txt.text = "";
                };
               
                currentThumb.onPress = currentThumb.onDragOver=function () {       
                        image_mc.origDepth = image_mc.getDepth();       
                        image_mc.swapDepths(image_mc._parent.getNextHighestDepth());
                        mx.transitions.TransitionManager.start(image_mc, {type:mx.transitions.Photo, direction:0, duration:1, easing:mx.transitions.easing.Strong.easeOut, param1:empty, param2:empty});
                        image_mc.loadMovie(baseurl+this.IMAGE);                                                                               
                        info_txt.text = "Loading...";
                        timeline.loadVariables(baseurl+this.TEXT);
                };
               
        }
};
portfolioInfo.load(baseurl+"xmlportfoliowithimageandtext.xml");

но код не выполняется, хмл и файл находится в той же директории.
Подскажите пожалуйста.

BigDan 17.05.2007 21:31

Простой совет: пиши весь код в кадрах.

Killer_13 17.05.2007 21:52

Спасибо за совет, - а конкретно по моему вопросу...

BigDan 17.05.2007 21:59

Перпиши нормально код и выложи исходник, тогда будет виднее.

etc 17.05.2007 21:59

Для начала неплохо было бы узнать, куда ссылается this в on(press).

Killer_13 17.05.2007 22:22

Цитата:

Сообщение от __etc
Для начала неплохо было бы узнать, куда ссылается this в on(press).

собития
on(rollOver)
on(rollOut)
on(press)

лежат на мувике (тоисть выделил мувик и на нём вставил эти обработчики)
все они обращаются к кадрам всередине мувика (мувик состоит из 5 кадров на которых расположена анимация).

В 4 кадре я вставил код создания галереи (файл галереи и хмл файл лежат в той же директории). Или там нужно эщё что то добавить чтоб открывался этот файл галереи по нажатию кнопки?

etc 17.05.2007 22:24

Надо забыть про эти обработчики и писать код в кадрах. Точка.
Пока этого не будет, бессмысленно что-либо делать дальше.

BM Senya 18.05.2007 12:09

А ты не мож этот файл галереи просто аттачить из библеотеки при нажатии?

Molecula 18.05.2007 13:18

2BM Senya:

А зачем атачить из библиотеки, у него небось куча фоток?
Лучше подгружать и прелоадер показывать.

Kikasso 18.05.2007 14:36

Вот же __etc пишет:
Цитата:

Для начала неплохо было бы узнать, куда ссылается this в on(press).
Это означает что надо написать:
Код:

on(press){
trace(this);
}



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

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