Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ошибка 1046: Тип не найден или не является константой времени компиляции : mc (http://www.flasher.ru/forum/showthread.php?t=183111)

imediasun 12.08.2012 16:52

Ошибка 1046: Тип не найден или не является константой времени компиляции : mc
 
Что означает эта ошибка Тип не найден или не является константой времени компиляции : mc ?

caseyryan 12.08.2012 17:09

Значит, что объект mc компилятором не найден. Скорее всего, переменная не была объявлена, или экземпляру не задано имя (instance name, если речь о Flash CS..)

imediasun 12.08.2012 17:10

подключил файл tween.as

в первом кадре у меня прописано так
Код AS3:

include tween.as;
 
 
import flash.display.MovieClip;
import com.greensock.*;
import com.greensock.easing.*;
 
 
var tweener:mc = new mc();
//сама анимация
 
 TweenLite.to(mc, 1,
{_x:1, _y:1, _xscale:1,
_yscale:-100, _rotation:90,
_alpha:100, tint:0x000000,
ease:Back.easeOut});
 
 
//файл tween.as выглядит так
 
 
 
//добавление классов для анимации
 
 import com.greensock.TweenLite;
 import com.greensock.easing.*
 
 //описание нашего класса
 
 class tween extends MovieClip
 {
 
 //описание клипов
var mc:MovieClip;
var mc_:MovieClip;
 
 //описание функций
 
function tween1(){}
function tween2(){}

Ошибки следующие:
tween.as 1084: синтаксическая ошибка rightbrace перед end of program
1 монтажный кадр 1084:stringliteral перед tween

caseyryan 12.08.2012 17:12

В этой строке:
Код AS3:

TweenLite.to(mc, 1, // вместо mc надо ставить tweener
{_x:1, _y:1, _xscale:1,
_yscale:-100, _rotation:90,
_alpha:100, tint:0x000000,
ease:Back.easeOut});

->
Код AS3:

TweenLite.to(tweener, 1, 
{_x:1, _y:1, _xscale:1,
_yscale:-100, _rotation:90,
_alpha:100, tint:0x000000,
ease:Back.easeOut});

И вообще, это не единственная ошибка.
этот экземпляр:
Код AS3:

var mc:MovieClip;

не может называться mc потому что имя совпадает с названием класса, который упомянут выше

внимательнее нужно относиться к именам объектов

да и вообще, импорты нужно делать вначале, а уже потом использовать то, что импортировано, а не наоборот.
То, в каком порядке что вызывается, имеет огромное значение.

imediasun 12.08.2012 17:13

как исправить например?

Добавлено через 9 минут
почему то tween.as 1084: синтаксическая ошибка rightbrace перед end of program остается

Добавлено через 21 минуту
тут эту ошибку я уже убрал теперь ошибка 5007: Файл ActionScript должен иметь хотя бы одно внешнее определение.

Добавлено через 29 минут
тут я уже понял pakcege не прописан, а ошибка возникает опять первая 1046: тип не найден или не является константой времени : mc

Код AS3:

 
//это tween.as
    package {
//добавление классов для анимации
 
 
 import flash.display.MovieClip;
 import com.greensock.TweenLite;
 import com.greensock.easing.*
 
 //описание нашего класса
 
 class tween extends MovieClip
 {
 
 //описание клипов
var mc1:MovieClip;
var mc1_:MovieClip;
 
 //описание функций
 
function tween1(){};
function tween2(){};
 
 }
 }
 
 
// это сцена 1 кадр
 
 
 
 
import flash.display.MovieClip;
import com.greensock.*;
import com.greensock.easing.*;
 
 
var tweener:mc = new mc();
//сама анимация
 
 TweenLite.to(tweener, 1,
{_x:1, _y:1, _xscale:1,
_yscale:-100, _rotation:90,
_alpha:100, tint:0x000000,
ease:Back.easeOut});


caseyryan 12.08.2012 17:46

скорее всего клип mc не экспортирован для actionscript
посмотрите в свойствах клипа

imediasun 12.08.2012 17:56

подождите мы же оперируем в твинлайте клипом tweener,
и при экспорте в ас3 спрашивается класс, где тогда здесь класс?
а что тогда такое new mc();

Добавлено через 31 секунду
кроме одного экземпляра здесь вообще нет ничего

Добавлено через 1 минуту
просто необходимо применить этот твинлайт к экземпляру

Добавлено через 7 минут
ReferenceError: Error #1065: Переменная tween не определена.

caseyryan 12.08.2012 18:05

Цитата:

а что тогда такое new mc();
Откуда мне знать?

Где этот класс находится? Компилятор не выдает подобных ошибок просто так. Так что могу со 100% уверенностью сказать, что класса mc для него не существует.
И причиной этому могут быть:
1) Не экспортирован для actionscript в свойствах
2) Класс лежит не в корневом пакете и этот пакет не импортирован

imediasun 12.08.2012 18:07

Теперь ReferenceError: Error #1065: Переменная tween не определена.

Код AS3:

 
//монтажный кадр выглядит так
import flash.display.MovieClip;
import com.greensock.*;
import com.greensock.easing.*;
 
 
var tweener= new MovieClip();
 
 
 TweenLite.to(tweener, 1,
{_x:1, _y:1, _xscale:1,
_yscale:-100, _rotation:90,
_alpha:100, tint:0x000000,
ease:Back.easeOut});

..файл tween.as
Код AS3:

 package { 
//добавление классов для анимации
 
 
 import flash.display.MovieClip;
 import com.greensock.TweenLite;
 import com.greensock.easing.*
 
 //описание нашего класса
 
 class tween extends MovieClip
 {
 
 //описание клипов
var mc:MovieClip;
var mc_:MovieClip;
 
 //описание функций
 
function tween1(){};
function tween2(){};
 
 }
 }

Добавлено через 28 минут
да впринципе тут много лишнего, я разобрался необходимо было только добавить в первый кадр
import com.greensock.*;
TweenLite.to(mc, 1, {x:65, y:117});


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

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