![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2013
Сообщений: 18
|
Доброго времени суток.
Подскажите пожалуйста, если кто владеет информацией, как создать CheckBox при помощи as3. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 125
|
package { import flash.display.Shape; import flash.display.Sprite; import flash.events.MouseEvent; public class Checkbox extends Sprite { public var state:Boolean = true; private var _mark:Shape; public function Checkbox() { this.graphics.beginFill(0xcccccc, 1); this.graphics.drawRect(0, 0, 30, 30); this.graphics.endFill(); this.graphics.beginFill(0xdddddd, 1); this.graphics.drawRect(3, 3, 24, 24); this.graphics.endFill(); turnOn(); this.buttonMode = true; this.mouseChildren = false; this.addEventListener(MouseEvent.CLICK, turn); } private function turn(e:MouseEvent):void { if (state) { turnOff(); }else { turnOn(); } } public function turnOn():void { _mark = new Shape(); _mark.graphics.lineStyle(5,0x7DE053, 1) _mark.graphics.moveTo(5, 5); _mark.graphics.lineTo(15, 25); _mark.graphics.lineTo(25, 5); addChild(_mark); state = true; } public function turnOff():void { removeChild(_mark); _mark = null; state = false; } } } |
|
|||||
|
Цитата:
но если создание чекбокса не сама цель, то можно использовать готовый, из стандартных компонентов, или, например из minimal comps или еще из какой-нибудь библиотеки или, примитивнейший чекбокс: package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; public class CheckBox extends Sprite { private var _active: Boolean = false; public function CheckBox() { addEventListener(MouseEvent.CLICK, onClick); draw(); } private function onClick(e:MouseEvent):void { active = !active; } private function draw():void { graphics.clear(); graphics.lineStyle(1, 0x000000); graphics.beginFill(0xFFFFFF); graphics.drawRect(0, 0, 15, 15); graphics.endFill(); if (active) { graphics.lineStyle(0); graphics.beginFill(0x000000); graphics.drawRect(2, 2, 11, 11); graphics.endFill(); } dispatchEvent(new Event(Event.CHANGE)); } public function get active():Boolean { return _active; } public function set active(value:Boolean):void { _active = value; draw(); } } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|