PDA

Просмотр полной версии : переключение visible (1/0)


N!kE
07.01.2007, 03:12
onEnterFrame = function() {
if(Key.isDown(Key.getCode("q"))) {
_root.menu._visible = 1
trace("vis = 1")
}
if(Key.isDown(Key.getCode("w"))) {
_root.menu._visible = 0
trace ("vis = 0")
}
}

Собственно проблема в том, что при нажатии кнопки w или q, trace выдает сразу две строчки: vis =1 vis = 0, вместо одной.
Подскажите пожалуйста, где ошибка?

N!kE
07.01.2007, 03:27
проблема решена, getCode - от лукавого.
Подскажите, где взять названия всех кнопок, для дальнейшего безпрепятственного пользования ими во благо человечества?

DarkLight
07.01.2007, 03:40
Тут коды клавиш (Keyboard Keys and Key Code Values)
http://livedocs.macromedia.com/flash/8/main/00001686.html

а вообще лучше делать не onEnterFrame, а вешать листенера на Key

iNils
07.01.2007, 03:44
Key.getCode - возращает код последней нажатой клавиши.

8 Backspace
9 Tab
12 Clear
13 Enter
16 Shift
17 Control
18 Alt
20 Caps Lock
27 Esc
32 Spacebar
33 Page Up
34 Page Down
35 End
36 Home
37 Left Arrow
38 Up Arrow
39 Right Arrow
40 Down Arrow
45 Insert
46 Delete
47 Help
48 0
49 1
50 2
51 3
52 4
53 5
54 6
55 7
56 8
57 9
65 A
66 B
67 C
68 D
69 E
70 F
71 G
72 H
73 I
74 J
75 K
76 L
77 M
78 N
79 O
80 P
81 Q
82 R
83 S
84 T
85 U
86 V
87 W
88 X
89 Y
90 Z
96 Numbpad 0
97 Numbpad 1
98 Numbpad 2
99 Numbpad 3
100 Numbpad 4
101 Numbpad 5
102 Numbpad 6
103 Numbpad 7
104 Numbpad 8
105 Numbpad 9
106 * (умножение)
107 + (сложение)
108 Enter
109 - (вычитание)
110 . (десятичная точка)
111 / (деление)
112 F1
113 F2
114 F3
115 F4
116 F5
117 F6
118 F7
119 F8
120 F9
121 F10
122 F11
123 F12
124 F13
125 F14
126 F15
144 Num Lock
186 ; :
187 = +
189 - _
191 / ?
192 \Q ~
219 [ {
220 \ |
221 ] }
222 '' '

N!kE
07.01.2007, 04:09
Большое спасибо, не надеялся получить ответа в ближайшее время, всетаки ночь на дворе ;)
З.Ы.: При использовании кодов клавиш, скрипт остается тотже самый?

Key.isDown(Key.Down("32"))

iNils
07.01.2007, 04:19
Большое спасибо, не надеялся получить ответа в ближайшее время, всетаки ночь на дворе ;)
З.Ы.: При использовании кодов клавиш, скрипт остается тотже самый?

Key.isDown(Key.Down("32"))
Ну что вы за ерунду пишите?
Key.Down нет, есть Key.DOWN, а все слово большими буквами обозначают константу, то есть Key.DOWN это 40.
И потом код клавиши это Number, а не String.

][an
07.01.2007, 05:55
46 Delete
47 Help
48 0

надо же, есть кнопочка Хелп даже :D

etc
07.01.2007, 14:08
И потом код клавиши это Number, а не String.
Да, ещё _visible — Boolean, а не Number.

Ясь
07.01.2007, 14:31
а там в коде разве точки с запятой не надо ставить?

etc
07.01.2007, 15:46
В этом разделе можно и не ставить.

iNils
07.01.2007, 17:29
Да, ещё _visible — Boolean, а не Number.Без строгой типизации можно и Number, но правильно действительно Boolean, дабы при переходе не было проблем.

Ясь
07.01.2007, 17:43
[iNils: Уже все видели и знают]