Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 2 / 0
Регистрация: 10.09.2009
Сообщений: 95
1
AS 3.0

Неправильная работа приложения

23.10.2011, 19:18. Показов 953. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам

Не по теме:

Только помог человеку с проблемой как сам столкнулся с подобной))



Пока только учусь прогить. В тестовой программе надо управлять падающим шариком. Написал, все вроде работало, но стоило коту пройтись по буку))).... программа работает неправильно. А именно: шар падает без ускорения, равномерно. И в лево-право движется также, как будто нет силы, да еще и с задержкой. По диагонали вобще не движется. Раз десять весь код перечитал, все вроде правильно. Подозрение только на то, что может я какие-то переменные слишком много раз в коде изменял и они теперь конфликтуют.
Выкладываю код. Если кто может протестируйте сами.

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
// Объявление переменных
var speedX:Number = 0; // скорость по горизонтали
var speedY:Number = 0; // скорость по вертикали
var power:Number = 3.8; // сила тяги
var g:Number = 1.9;  // сила тяжести
var soprotive:Number = 0.95; // сопротивление
var up:Boolean = false; // стрелки
var down:Boolean = false;
var left:Boolean = false;
var right:Boolean = false;
var count:Number = 0; // счетчик
ease.visible = false; // синяя звезда
ease.active = false;
coin.visible = true; // красная звезда
coin.active = true;
// изменение цвета фона.
var activeColor:ColorTransform = fon.transform.colorTransform;
// конец объявления переменных
 
 
// слушатели событий нажатия и отпускания клавиш управления.
stage.addEventListener (KeyboardEvent.KEY_DOWN, key_down);
stage.addEventListener (KeyboardEvent.KEY_UP, key_up);
 
 
// активация клавиш управления при их нажатии
function key_down (e:KeyboardEvent):void
{
    if (e.keyCode == 37)
    {
        left = true;
    }
    if (e.keyCode == 38)
    {
        up = true;
    }
    if (e.keyCode == 39)
    {
        right = true;
    }
    if (e.keyCode == 40)
    {
        down = true;
    }
}
// конец активации
 
// деактивация клавиш управления при их отпускании
function key_up (e:KeyboardEvent):void
{
    if (e.keyCode == 37)
    {
        left = false;
    }
    if (e.keyCode == 38)
    {
        up = false;
    }
    if (e.keyCode == 39)
    {
        right = false;
    }
    if (e.keyCode == 40)
    {
        down = false;
    }
}
// конец деактивации
 
 
    addEventListener (Event.ENTER_FRAME, movoHero);
    
    // главная функция движения шара
    function movoHero (e:Event):void
    {
        /*  при нажатии left, up, right и down изменяется
            направление движения шара с начальной скоростью
            равной power. */
    if (left)
    {
        speedX -= power;
    }
    if (up)
    {
        speedY -= power;
    }
    if (right)
    {
        speedX += power;
    }
    if (down)
    {
        speedY += power;
    }
    
    /*  если шар выходит за границы сцены
        влево или вправо то появляется
        с противоположной стороны */
    if (hero.x > 562.75)
    {
        hero.x = -12.75;
    }
    if (hero.x < -12.75)
    {
        hero.x = 562.75;
    }
    
    /*  при столкновении шара с кр. звездой
        изменяются координаты звезды, сила
        тяжести увеличивается, счетчик увелич-ся на единицу.*/
    if (hero.hitTestObject(coin))
    {
        coin.x = Math.random() * 500;
        coin.y = Math.random() * 350;
        count ++;
        g += 0.03;
    }
    
    /*  если счетчик равен 50 то красная звезда
        становится невидимой и неактивной, синяя звезда
        становится видимой и активной, счетчик обнуляется*/
    if (count/50 == 1)
    {
        coin.visible = false;
        coin.active = false;
        ease.visible = true;
        ease.active = true;
        count = 0;
    }
 
    /* при столкновении шара с синей звездой
    ее координаты меняются, она становится невидимой
    и неактивной. Становится снова видна и активна красная.
    Сила тяжести принимает исходное значение. */
    if (hero.hitTestObject(ease))
    {
        ease.x = Math.random() * 500;
        ease.y = Math.random() * 350;
        ease.active = false;
        ease.visible = false;
        coin.visible = true;
        coin.active = true;
        g = 1.9;
    }
    
    /*  Если сила тяжести равна 1,9 (в начале
        программы и при собирании синей звезды,
        фон становится белым.*/
    
    
//  уменьшение прозрачности фона на 30...
    function colorize ()
    {
        activeColor.alphaOffset += 30;
        fon.transform.colorTransform = activeColor;
        }
//  ...каждые 10 секунд 
        setInterval(colorize, 10000);
        
//  добавление сопротивления к скорости по х. 
    speedX *= soprotive;
    
//  добавление ускорения свободного падения
    speedY += g;
    
/*  перемещение шара по осям со скоростями
    равными конечным значениям переменных
    speedX и speedY */
    hero.x += speedX;
    hero.y += speedY;
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2011, 19:18
Ответы с готовыми решениями:

Неправильная работа меню
Есть сайт. В нем слева менюха. А на шапке есть флеш-ролик. Менюха расположена таким образом, что ...

Неправильная работа приложения на Windows 8
День добрый! У меня установлен QtSDK 1.2.1, QtCreator 2.4.1, MinGW 4.8.1 Есть приложение, на...

Неправильная работа клиент серверного приложения
Нашел в msdn исходники простых клиента и сервера, скомпилил в качестве консольных приложений - все...

Обнуление переменных (неправильная работа приложения)
Добрый день, подскажите, почему такое может получаться (компилятор VS2013 pro). Данное приложение...

4
388 / 275 / 76
Регистрация: 19.09.2011
Сообщений: 828
23.10.2011, 19:34 2
Poet,
Цитата Сообщение от Poet Посмотреть сообщение
Если кто может протестируйте сами.
скинь весь проект, или рисуй через код =)

Цитата Сообщение от Poet Посмотреть сообщение
Написал, все вроде работало, но стоило коту пройтись по буку)))....
ctrl+Z , ctrl+Y
0
2 / 2 / 0
Регистрация: 10.09.2009
Сообщений: 95
23.10.2011, 19:40  [ТС] 3
да собственно проект состоит из 1 файла

Ctrl-Z не помог )
Вложения
Тип файла: rar Архив WinRAR.rar (8.8 Кб, 14 просмотров)
0
388 / 275 / 76
Регистрация: 19.09.2011
Сообщений: 828
23.10.2011, 20:07 4
Poet, удали лишний кадр, или допиши в коде stop()

Цитата Сообщение от Poet Посмотреть сообщение
да собственно проект состоит из 1 файла
fla - это контейнер(даже открывается архиватором) =)
1
2 / 2 / 0
Регистрация: 10.09.2009
Сообщений: 95
24.10.2011, 04:55  [ТС] 5
Спасибо, действительно помогло удаление одного кадра
0
24.10.2011, 04:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2011, 04:55
Помогаю со студенческими работами здесь

Неправильная работа приложения на Qt под Andriod
Доброго времени суток. Самостоятельно, для саморазвития решил изучать Qt. И первую...

Неправильная работа
Почему на неправильно работает? #include&lt;iostream&gt; using namespace std; int main() {...

Неправильная работа if
import random, os Numbers = while True: comp = random.choice(Numbers) player =...

Неправильная работа if
Привет! Задали по лабараторки сделать программу, обрабатывающию 2 уровнения. Задание: y=f1 если...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru