Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для CyberGenius
1 / 1 / 1
Регистрация: 23.08.2012
Сообщений: 100

Быдлокод для использования ENTER_FRAME. Как улучшить код?

09.09.2012, 20:55. Показов 1114. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Пытался реализовать следующее: на экране есть 2 кнопки - вверх и вниз. При нажатии кнопки вниз сверху опускается изображение(Menu). Спуск ограничен опр. координатой по оси у. Когда изображение находится в нижнем положении при нажатии кнопки вверх изображение начинает подниматься.
Вот код:
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import flash.events.MouseEvent;
import flash.events.Event;
 
addEventListener(Event.ENTER_FRAME, MenuDown);
addEventListener(Event.ENTER_FRAME, MenuUp);
 
var MUP,MDW:int;
//Переменные для счетчиков
MUP = 0;
MDW = 0;
 
 
//Нажал на кнопку вниз
BtnDown.addEventListener(MouseEvent.CLICK, DownCLICK);
function DownCLICK(e:MouseEvent)
{
    MDW = 1;
}
 
//Спуск меню 
function MenuDown(e:Event):void
{
    if (MDW == 1) // Проверяем была ли нажата кнопкиа вниз
    {
        //Ограничение спуска меню до координаты по оси У=0
        if (Menu.y < 0)
        {
            Menu.y +=  1;
        }
        //Когда координата У = 0 останавливаем спуск. Обнуляем счетчик
        else
        {
            Menu.y = 0;
            MDW = 0;
        }
    }
}
 
//Нажал на кнопку вверх
BtnUp.addEventListener(MouseEvent.CLICK, UpCLICK);
function UpCLICK(e:MouseEvent)
{
    if (Menu.y == 0)
    {
        MUP = 1;
    }
}
 
 
//Поднятие меню 
function MenuUp(e:Event):void
{
 
    if (MUP == 1)
    {
        Menu.y -=  1;
    }
 
}
Меня смущает в этом коде использование счетчиков MUP & MDW. Но как избежать их использования я не придумал...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.09.2012, 20:55
Ответы с готовыми решениями:

Как улучшить код установки Enabled для многих TextBox?
Здравствуйте. Возник вопрос. Как максимально можно упростить подобный код: textBox1.Enabled = false; textBox2.Enabled = false; ...

Как переписать код для использования подготовленных операторов mysql
Код для страницы поиска нужных книг из базы данных у меня написана так &lt;html&gt; &lt;head&gt; &lt;title&gt;Магазин...

Улучшить код Для работы с access и mySQL
Знаю что есть entity framework codefirst но не нашел как его подружить с access. Потому сделал что то подобное так как копировать одно и...

2
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
09.09.2012, 21:48

Не по теме:

Цитата Сообщение от CyberGenius Посмотреть сообщение
Быдлокод...
Самокритика, конечно, хорошо, но...


Хотите улучшить код - начинайте писать в классах, давать переменным и методам внятные названия и следовать рекомендациям по оформлению кода.

По сути, как бы я это реализовал (и кстати, где-то уже выкладывал решение по похожей проблеме). Есть 2 кнопки, в обработчиках указываем для некой переменной (_direction) значение 1 или -1, в зависимости от направления. Также еще одна переменная с Boolean-значением, отображающая, активна ли на данный момент анимация (_isMove). Соответственно, в зависимости от ее значения, мы начинаем слушать ENTER_FRAME или продолжаем, просто меняя значение переменной (см. выше). При окончании анимации меняем значение этой переменной (_isMove) и отписываемся от ENTER_FRAME. Все.
0
 Аватар для CyberGenius
1 / 1 / 1
Регистрация: 23.08.2012
Сообщений: 100
09.09.2012, 21:56  [ТС]
Спасибо.
Сегодня же начну учиться программировать в AS3 используя классы.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.09.2012, 21:56
Помогаю со студенческими работами здесь

Как улучшить код?
код новичка, подскажите как улучшить исправив ошибки &lt;?php session_start(); $_SESSION = &quot;Ваша запись успешна&quot;; ...

Как улучшить код?
Я нубяра в ООП вот написал чтото хочу услышать мнение профи как улучшить код. &lt;?php abstract class DB { protected static...

Как улучшить код
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,...

Как улучшить код?
Как улучшить? static double Power(double x, int y) { double b = x; double c; ...

Как улучшить код?!
Написал код к заданию: Дан целочисленный массив размера N. Если он является перестановкой, то есть содержит все числа от 1 до N, то вывести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru