Ошибка 1180: вызов возможно неопределенного метода addFrameScript в as3 - PullRequest
3 голосов
/ 25 июня 2010
package {
import flash.display.Sprite;
import flash.utils.*;

public class SetTimeoutExample extends Sprite {
    private var delay:Number = 1000; // delay before calling myDelayedFunction

    public function SetTimeoutExample() {
        var intervalId:uint = setTimeout(myDelayedFunction, delay,stopTime);
    }

    public function myDelayedFunction():void {
        if(arguments[0] ==fk.playheadTime)
        {fk.pause();}
    }
}
}//this is my document class named SetTimeoutExample.as

import flash.net.URLLoader;
import fl.video.*;
import flash.utils.getTimer;
import flash.events.Event;


fk.autoPlay = false;


var myLoaderInfo=new Object();


myLoaderInfo.myParamsLoaded = false;


myLoaderInfo.loaderComplete = loaderComplete;



this.loaderInfo.addEventListener(Event.COMPLETE, myLoaderInfo.loaderComplete);



myLoaderInfo.useParams = useParams;

var myParams:Object = new Object();
var myParamsLoaded:Object = new Object();

function loaderComplete(myEvent:Event)
{
this.myParams = this.loaderInfo.parameters;
this.myParamsLoaded = true;//Parametrelerin yuklendigine emin olduk.

this.useParams();

    fk.play(src);
}

var src:String;
var startTime:Number;
var stopTime:Number;

function useParams()
{
    var obj:Object = new Object();

var j;
for (j in this.myParams)
{
    if (j == "url")
    {
        src = this.myParams[j];
    }
    else if (j=="bas")
    {
        startTime = int(this.myParams[j]);
    }
    else
    {
        stopTime = int(this.myParams[j]);
    }
}
}

fk.addEventListener(VideoEvent.READY, bitti);
function bitti(eventObject:VideoEvent):void
{
    fk.seekSeconds(startTime);


}  //this is my player.fla 

Привет, я получаю эту ошибку 1180 в as3.Как я могу решить эту проблему? Я в Google, но не могу применить решения к своему коду. Я действительно новичок в as3.thanks за любую помощь.

Ответы [ 6 ]

6 голосов
/ 03 января 2012

Позвольте мне сказать прямо: вы установили Document Class в свойствах fla и также пишете код прямо в fla?

Если это так, решение простое: либо пишите свой код только во внешние файлы .as, а не fla, либо не используйте Document Class, если хотите продолжить писать код на Timeline.Код ошибки, который вы получаете, утверждает, что у вас есть код на Timeline, который ведет себя как MovieClip, в то время как ваш Document Class расширяет Sprite и поэтому не знает о методе, называемом addFrameScript (этот метод вызывается при компиляциикод, который находится в Timeline в SWF-файле).

Короче, я бы посоветовал вам изменить

public class SetTimeoutExample extends Sprite {

на

public class SetTimeoutExample extends MovieClip {

и переместите весь свой код FLA на Document Class.

2 голосов
/ 25 июля 2011

Я решил проблему, и теперь я успешно использую внешний класс AS при реализации некоторой другой функции на временной шкале:

Проблему можно решить, просто следуя этому простому «правилу»:

  • если вы хотите ПРОСТО загрузить все данные из внешнего КЛАССА, вам необходимо «связать» файл .fla с .as («Класс документа»):

    временная шкала использует функцию addFrameScript

  • если вы хотите ИСПОЛЬЗОВАТЬ что-то из класса, делая что-то еще на временной шкале, вы ПРОСТО ДОЛЖНЫ УСТАНОВИТЬ аналогичную строку на временной шкале:

    var myClassObject:myClass = new myClass();
    this.addChild(myClassObject);
    
2 голосов
/ 25 июня 2010

У вас есть какой-нибудь временной код? AddFrameScript () - это метод, который вызывается для выполнения кода временной шкалы. Я сам видел эту ошибку.

Просто убедитесь, что у вас нет кода на временной шкале ни в одном из ваших активов, и это должно исчезнуть.

1 голос
/ 23 февраля 2011

У меня тоже была эта проблема. Проблема заключалась в том, что мой контейнерный видеоклип расширял Sprite, и внутри один из элементов управления был преобразован в компонент Flash со свойствами ... У меня такое ощущение, что Flash пытается установить значение этих свойств на временной шкале. Удаление компонента со сцены и добавление его из библиотеки устранило проблему для меня после 30 минут выдергивания моих волос ....

0 голосов
/ 28 ноября 2014

Если ошибка в вопросе (названии) возникает с вами при добавлении кода в видеоклип (не на временной шкале), попробуйте следующее:

Возможно, элемент библиотеки (movieclip) имеетСвойства actionscript, установленные для наследования от Sprite (базовый класс) ... Некоторая ошибка кодирования ... Проверьте, что свойства ActionScript для мувиклипа (в библиотеке щелкните правой кнопкой мыши (на мувиклипе) / свойства).

0 голосов
/ 17 сентября 2013

Получено

Ошибка типа: ошибка # 1034: Ошибка приведения типа: невозможно преобразовать the_game @ 2a9c50b1 в flash.display.MovieClip.в игре :: Player / update () в the_game_itself / update ()

с битовой медленной ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...