2015-04-29 1 views
-1

Хотя я когда-то знал Flash, я не справился с этим в течение последнего десятилетия, и теперь я очень устарел.Получение типа Ошибка 1009 при попытке воспроизведения MC

Моя цель заключается в создании простой анимации, которая продвигается каждым нажатием клавиши. Слова предопределены, поэтому я создал их как текст на моей сцене. Затем я нажал маску, чтобы открыть каждую букву. Каждое нажатие клавиши перемещает анимацию вдоль метки, определенной массивом. В конце массива, в «неправильном», я пытаюсь воспроизвести фрагмент ролика, а затем остановится, mc называется mc_Shake.

В настоящее время я не могу заставить mc играть и получать ошибку 1009. Если я получаю клип для воспроизведения всей анимации, просто играет в цикле.

Точная ошибка, которую я получаю: ТипError: Ошибка # 1009: Не удается получить доступ к свойству или методу ссылки на нулевой объект. в Al_fla :: MainTimeline/ResetScene()

import flash.display.MovieClip; 
import flash.events.KeyboardEvent; 
import flash.text.TextField; 


stop(); 

var Password:Array = ["Start","a","n","n_2","e","m","u","r","r_2","y", "Wrong"] 
var nextLetter:String; 
var inc:int = 1; 

stage.addEventListener(KeyboardEvent.KEY_DOWN, clickNextSection); 
stage.addEventListener(KeyboardEvent.KEY_DOWN, ResetScene); 

function clickNextSection(e:KeyboardEvent):void 
{ 
    if (inc <= 9) 
    { 
     nextLetter = String(Password[inc]); 
     gotoAndStop(nextLetter); 
     trace("Button Works"); 
     inc++; 

    } 
    else 
    { 
     trace("greater then 12"); 
     trace("No Works"); 
     inc++; 
    } 

} 

function ResetScene(e:KeyboardEvent):void 
{ 
    if (inc >= 10) 
    { 
     mc_Shake.play(); 
     trace("Button Works"); 
     inc++; 

    } 
    else 
    { 
     trace("Under11"); 
     trace("No Works"); 

} 

} 
+0

Какая строка дает вам ошибку 1009? ** mc_Shade.play() **? можете ли вы разместить свой .fla? это будет проще всего для устранения неполадок. Можете ли вы изменить свое последнее предложение (* или если я сделаю это, чтобы играть, я компрометирую остальную часть анимации и играю через цикл. *), Я не совсем понял. ----- Скорее всего, у вас нет имени экземпляра на вашем mc_Shake в любом кадре, который работает с кодом – BadFeelingAboutThis

+0

. Я дважды проверял, и экземпляр назван правильно. Я также отредактировал свой пост, надеюсь, будет более ясным. – Wry

+0

Спасибо, это было именно оно. – Wry

ответ

0

ошибка происходит потому, что в текущей области, не существует объект, называемый/ссылка mc_Shake

например. Везде, где точка воспроизведения, когда это условие выполнено:

if (inc >= 10){ 
    mc_Shake.play(); 
    ... 

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

Проверьте все свои ключевые кадры на временной шкале и убедитесь, что у вас есть экземпляр вашего объекта на этапе в любое время и с именем экземпляра mc_Shake.