Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   1136: Incorrect number of arguments. (http://www.flasher.ru/forum/showthread.php?t=131679)

ptirA 26.10.2009 12:10

1136: Incorrect number of arguments.
 
Добрый день!
Для начала пробую просто выводить картинки из xml файла, для этого сделал класс ThumbItem, который генерирует картинку.
Код AS3:

package
{
        import flash.display.MovieClip;
        import flash.display.Sprite;
        import flash.display.Loader;
        import flash.events.MouseEvent;
        import flash.events.ProgressEvent;
        import flash.events.Event;
        import flash.net.URLRequest;
 
        public class ThumbItem extends MovieClip
        {
                private var thumbAdress:String;
                private var thumbLoader:Loader = new Loader();
                private var thumbHolder:Sprite = new Sprite();
 
                public function ThumbItem(thumbLink:String):void
                {
                        this.thumbAdress = thumbLink;
 
                        this.thumbLoader.load(new URLRequest(this.thumbAdress));
                        this.thumbLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preloadThumb);
                        this.thumbLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, displayThumb);
                }
 
                public function preloadThumb(e:ProgressEvent):void
                {
                        var percentDone:uint = (e.bytesLoaded / e.bytesTotal)*100;
                        this.preText.text = String(percentDone);
                }
 
                public function dispalyThumb(e:Event):void
                {
                        this.removeChild(preText);
                        this.addChild(thumbHolder);
                        this.thumbHolder.addChild(this.thumbLoader.content);
                        this.thumbHolder.x = this.thumbHolder.x - thumbHolder.width / 2 - 5;
                        this.thumbHolder.y = this.thumbHolder.y - thumbHolder.height / 2 - 5;
                        this.thumbHolder.addEventListener(Event.COMPLETE, thumbReady);
                }
 
                public function thumbReady(e:Event):void
                {
                        this.addEventListener(MouseEvent.ROLL_OVER, onOver);
                        this.addEventListener(MouseEvent.ROLL_OUT, onOut);
                        this.buttonMode = true;
                }               
 
                private function onOver(e:MouseEvent):void
                {
 
                }
 
                private function onOut(e:MouseEvent):void
                {
 
                }
 
        }
}

Потом в main классе вывожу все картинки циклом
Код AS3:

package
{
        import flash.display.MovieClip;
        import flash.net.URLLoader;
        import flash.net.URLRequest;
        import flash.display.Loader;
        import flash.events.Event;
        import flash.events.MouseEvent;
 
        public class Thumbs extends MovieClip
        {
                public var picsXML:XML;
                public var picsList:XMLList;
                public var xmlLoader:URLLoader = new URLLoader();
 
                public function Thumbs():void
                {
                        xmlLoader.load(new URLRequest("xml/data01.xml"));
                        xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
                }
 
                function xmlLoaded(e:Event):void
                {
                        picsXML = XML(e.target.data);
                        picsList = picsXML.children();
                        createThumbs();
                }
 
                function createThumbs():void
                {
                        for (var i:int = 0; i < picsList.length(); i++)
                        {
                                var thumb:ThumbItem = new ThumbItem(picsList[i].attribute("src"));
                                thumb.mouseChildren = false;
                                thumb.y = 60;
                                thumb.x = i* (thumb.width + 10) + 60;
                                addChild(thumb);
                                thumb.addEventListener(MouseEvent.CLICK, loadPic);
                                thumb.addEventListener(MouseEvent.MOUSE_OVER, activate);
                        }
                }
                function activate(evt:MouseEvent):void
                {
 
                }
 
                function loadPic(evt:MouseEvent):void
                {
 
                }
        }
}

Ругается...говорит что ждет у ThumItem 0 аргументов. Без аргументов, работает.
В чем проблема?

udaaff 26.10.2009 13:03

Ошибка в названии метода:
Код AS3:

public function dispalyThumb(e:Event):void

Возможно где-то еще ошибки.. ищите.

ptirA 26.10.2009 13:26

Спасибо!
Исправил.
Не помогло.
Буду искать подобные ошибки.
:-(

Kuruki 26.10.2009 13:59

Может получил 0, а ожидал 1?
Код AS3:

function createThumbs():void
        {
            for (var i:int = 0; i < picsList.length(); i++)
            {
                trace(picsList[i].attribute("src") == undefined);
                ...
            }
        }


ptirA 26.10.2009 14:05

false
+ в ошибке Expected 0 пишет.
++ вообще без атрибутов работает.

udaaff 26.10.2009 14:16

Выложите исходник с причендалами

Gal4enochek 26.10.2009 14:18

У меня ругалс на неправильное название методов и на отсутствие определения
Код AS3:

this.preText

ну и ипмпорта
Код AS3:

import flash.text.TextField;

После этих исправлений ошибок компилятора больше нет

ptirA 26.10.2009 14:28

Вложений: 1
Прикрепил.
2Gal4enochek
Там не все классами, в библиотеке есть клип, по этому у Вас и такие ошибки.

udaaff 26.10.2009 14:43

В linkage properties мувика thumb исправьте путь к классу на com.ptira.ThumbsItem.
Добавьте import flash.text.TextField в класс ThumbsItem.

ptirA 26.10.2009 15:20

Так и знал что все из-за невнимательности :-(
Спасибо!
Я 3 дня над этим бился.


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

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