سؤال

أنا في حاجة إلى التنقل بين التسميات مع مفاتيح الأسهم مثل باور بوينت.لدي مجموعة مع تسميات KeyboardEvent.مشكلتي هي, إذا أنا في التسمية رقم أربعة على سبيل المثال ، انقر فوق انقر فوق السهم دائما يذهب إلى التسمية الأولى.لذلك أنا بحاجة إلى مساعدة في تحديد الحالي التسمية للذهاب إلى التالي على الضغط على مفتاح.

قانون بلدي:

import flash.events.KeyboardEvent;

var myLabels:Array = [ "label_1", "label_2", "label_3", "label_4"];
var nextLabel:String;
var inc:int = 0;

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);

function keyPressed(evt:KeyboardEvent):void
{
 switch(evt.keyCode)
 {
  case Keyboard.RIGHT :
  nextLabel = String(myLabels[inc]);
                gotoAndStop(nextLabel);
                inc++;
  break;
 }
}

شكرا

هل كانت مفيدة؟

المحلول

إزالة var inc:int = 0; ثم القيام بذلك:

case Keyboard.RIGHT :
    var inc:int = myLabels.indexOf (currentLabel); 
    inc = inc < myLabels.length-1 ? inc+1 : 0;
    nextLabel = String(myLabels[inc]);
    gotoAndStop(nextLabel);
    break;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top