Объявление

Свернуть
Пока нет объявлений.

Где форумы по Action Script 3.o

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Где форумы по Action Script 3.o

    Помогите найти работающие форумы по AS. Поисковик не помог.
    Мне нужно доработать скрипт с печатью текста, может быть здесь кто нибудь разбирается?
    Вот скрипт:
    Код:
    import flash.ui.Keyboard;
    
    stop();
    
    var keysMap:Object = {};//клавиши 5-8 выбирают ответ
    keysMap[Keyboard.NUMBER_5] = 1;
    keysMap[Keyboard.NUMBER_6] = 2;
    keysMap[Keyboard.NUMBER_7] = 3;
    keysMap[Keyboard.NUMBER_8] = 4;
    
    var timer1:Timer = new Timer(delay);
    timer1.addEventListener(TimerEvent.TIMER, frameLooper);
    
    stage.addEventListener(KeyboardEvent.KEY_DOWN, on_keyDown);
    
    var text:String = "";
    var currentSymbol:int = 0;
    var pattern:RegExp = new RegExp(String.fromCharCode(13),"g");//регулярка, ищущая все возвраты каретки в строке
    var repl:String = String.fromCharCode(10);//символ переноса \n
    var way = "1";//переменная порядка ветки событий
    var wayX = way;//переменная текущего значения ветки
    var delay:int = 100; //скорость печати
    
    var SPEED_TAG:String = 'speed';
    var PAUSE_TAG:String = 'pause';
    
    var pauseTimer:Timer=new Timer(20, 1);
    pauseTimer.addEventListener(TimerEvent.TIMER_COMPL ETE, onPauseComplete);
    
    function frameLooper(event:TimerEvent = null):void {
    if (currentSymbol < text.length) {
    var tag:Array = getTag(text, currentSymbol);
    
    while (tag != null) {
    execTag(tag);
    currentSymbol += tag[2];
    tag = getTag(text, currentSymbol);
    }
    
    var symbol:String = text.charAt(currentSymbol++);
    answer_tf.appendText(symbol);
    
    //тупо костыль, вызывающий слушатель frameLooper повторно, если текст надо вывести без задержек
    if (timer1.delay == 0) {
    frameLooper();
    }
    
    } else {
    timer1.stop();
    }
    }
    
    function onPauseComplete(event:TimerEvent):void {
    if (currentSymbol < text.length) {
    timer1.start();
    }
    }
    
    function typeText() //функция печати текста
    {
    answer_tf.text = "";
    text = way1.tf.text.replace(pattern,repl);
    currentSymbol = 0;
    timer1.delay = delay;
    timer1.start();
    }
    
    function on_keyDown(e:KeyboardEvent):void //нажатие кнопки
    {
    if (way == wayX)
    {//назначения порядкого номера ветки событий
    if (e.keyCode == 53)
    {//1
    way = wayX+"-1";
    }
    else if (e.keyCode == 54)
    {//2
    way = wayX+"-2";
    }
    else if (e.keyCode == 55)
    {//3
    way = wayX+"-3";
    }
    else if (e.keyCode == 56)
    {//4
    way = wayX+"-4";
    }
    wayX=way;
    trace("way="+way);
    }
    if(way == "1-1")
    {//переход на кадр в зависимости от ответа
    way1.gotoAndStop(2);
    typeText()
    }else if(way == "1-1-1"){
    way1.gotoAndStop(3);
    typeText()
    }else if(way == "1-1-2"){
    way1.gotoAndStop(4);
    typeText()
    }else if(way == "1-1-3"){
    way1.gotoAndStop(5);
    typeText()
    }else if(way == "1-1-4"){
    way1.gotoAndStop(6);
    typeText()
    }
    
    }
    
    function getTag(text:String, pos:int):Array {
    if (text.charAt(pos) == '<') {
    var endIdx:int = text.indexOf('/>', pos);
    var tag:String = text.substring(pos + 1, endIdx);
    var tagLenght:int = tag.length + 3;
    var removeWhitespacesRex:RegExp = /[\s\r\n\u00A0]+/gim;//регулярка для удаления всего лишнего из строки тега(пробелы, переносы)
    tag = tag.replace(removeWhitespacesRex, '');
    var result:Array = tag.split('=');
    result.push(tagLenght);
    return result;
    }
    return null;
    }
    
    
    function execTag(tag:Array):void {
    switch (tag[0]) {
    case SPEED_TAG : {
    timer1.delay = tag[1];
    break;
    }
    case PAUSE_TAG : {
    timer1.stop();
    pauseTimer.delay = tag[1];
    pauseTimer.start();
    break;
    }
    default : throw 'Неизвестный тэг ' + tag[0];
    }
    }
    Мне нужно создать условие "если текст допечатан".
    Последний раз редактировалось MaxLunatic; 09.09.2021, 04:19.

  • #2
    как насчет Flasher.ru?
    иил Flashkit.com
    но он англоязычный.
    есть еще пару сайтов, где тусуют фрилансеры AS3, но они платно только делают....

    Комментарий


    • #3
      На Flasher.ru уже нет активности, а языковой барьер мне не преодолеть)

      Комментарий


      • #4
        у меня есть несколько знакомых в ВК
        но у них надо спрашивать

        Комментарий


        • #5
          Не хочу плодить темы, спрошу здесь:
          Кто нибудь знает как перейти к слою, на который указывает курсор?
          В Anime Studio есть инструмент Layer Selector, есть что то подобное в Adobe Animate 2020? Тыкать по куче слоёв и папок в поисках нужного очень утомляет.

          Комментарий


          • #6
            кажется никак.....

            Комментарий

            Обработка...
            X