Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.07.2011, 18:59
syegorius вне форума Посмотреть профиль Отправить личное сообщение для syegorius Найти все сообщения от syegorius
  № 1  
Ответить с цитированием
syegorius

Регистрация: Nov 2010
Сообщений: 91
Attention как в файле *.as указать кнопку

доброе время суток. в actionscript новичок.
скачал исходники одного флеш-приложения. исходники состоят из одного файла graffiti.fla, файла main.as (к которому как я понимаю компилятор обращается автоматически при компиляции), файла itemButtons.as и папки в которой какие-то библиотеки.

в файле graffiti было 4 кнопки, для которых в main.as было прописано:

Код AS3:
public var clear_btn:SimpleButton;
public var save_btn:SimpleButton;
public var undo_btn:SimpleButton;
public var redo_btn:SimpleButton;
 
undo_btn.addEventListener(MouseEvent.CLICK, historyHandler);
redo_btn.addEventListener(MouseEvent.CLICK, historyHandler);
clear_btn.addEventListener(MouseEvent.CLICK, clearCanvasHandler);
save_btn.addEventListener(MouseEvent.CLICK, saveHandler);
в файле graffiti.fla в панели library они называются:
Save Button, Clear Canvas Button, Redo Button, Undo Button

теперь я пытаюсь добавить свою кнопку. с файлом graffiti.fla проблем нет. я создал там новую кнопку, назвал ее "back". она появился у меня в панели library.
а теперь не могу понять как мне с ней быть в файле main.as.

я решил ткнуть пальцем в небо и написать вот так:

Код AS3:
public var back_btn:SimpleButton;
back_btn.addEventListener(MouseEvent.CLICK, hideGraffiti);
ну и как вы уже догадались ничего не получилось.

подскажите где и что надо прописать, чтоб в файле main.as сработал данный код.

заранее спасибо!

Старый 31.07.2011, 19:09
BornTOFree вне форума Посмотреть профиль Отправить личное сообщение для BornTOFree Найти все сообщения от BornTOFree
  № 2  
Ответить с цитированием
BornTOFree

Регистрация: Oct 2010
Сообщений: 85
SimpleButton - это видимо класс, который реализует кнопки. Покажите весь код майн класса.

Старый 31.07.2011, 19:31
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 3  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Советую начать с Колина Мука.
Код AS3:
private var myBtn:SimpleButton;
...
myBtn = MyBtn();
addChild(myBtn);
myBtn.addEventListener(...);
Надеюсь, не нужно пояснять, что здесь значат "..."? А то были такие люди, считающие это кодом о_О
MyBtn - класс Вашей кнопки.
__________________
тут я

Старый 31.07.2011, 19:39
syegorius вне форума Посмотреть профиль Отправить личное сообщение для syegorius Найти все сообщения от syegorius
  № 4  
Ответить с цитированием
syegorius

Регистрация: Nov 2010
Сообщений: 91
Код AS3:
package {
	import flash.display.Bitmap;
	import flash.display.BitmapData
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	import flash.display.Sprite;
	import flash.display.LineScaleMode;
	import flash.display.CapsStyle;
	import flash.display.JointStyle;
	import flash.text.TextField;
	import flash.geom.Point;
	import flash.text.TextFormat;
	import flash.ui.Keyboard;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.events.KeyboardEvent;
	import flash.display.BlendMode;
	import flash.net.navigateToURL;
	import flash.net.FileReference;
	import flash.net.URLRequest;
	import flash.net.URLRequestMethod;
	import flash.net.URLRequestHeader;
	import flash.net.URLLoader;
	import flash.net.URLVariables;//
	import flash.external.ExternalInterface;//
	import flash.net.URLLoaderDataFormat;
	import flash.text.Font;
	import flash.utils.ByteArray;
	import fl.controls.ColorPicker;
	import fl.controls.Slider;
	import fl.controls.ComboBox;
	import fl.events.ColorPickerEvent;
	import fl.events.SliderEvent;
	import fl.data.DataProvider;
	import com.nocircleno.graffiti.GraffitiCanvas;
	import com.nocircleno.graffiti.display.Text;
	import com.nocircleno.graffiti.display.GraffitiObject;
	import com.nocircleno.graffiti.events.CanvasEvent;
	import com.nocircleno.graffiti.events.GraffitiObjectEvent;
	import com.nocircleno.graffiti.tools.BrushTool;
	import com.nocircleno.graffiti.tools.BrushType;
	import com.nocircleno.graffiti.tools.LineTool;
	import com.nocircleno.graffiti.tools.LineType;
	import com.nocircleno.graffiti.tools.ShapeTool;
	import com.nocircleno.graffiti.tools.ShapeType;
	import com.nocircleno.graffiti.tools.ToolMode;
	import com.nocircleno.graffiti.tools.ITool;
	import com.nocircleno.graffiti.tools.BitmapTool;
	import com.nocircleno.graffiti.tools.FillBucketTool;
	import com.nocircleno.graffiti.tools.SelectionTool;
	import com.nocircleno.graffiti.tools.TextSettings;
	import com.nocircleno.graffiti.tools.TextTool;
	import com.nocircleno.graffiti.managers.GraffitiObjectManager;
	import com.adobe.images.PNGEncoder;
 
	public class Main extends MovieClip {
		public var brush_tool_mc:ItemButton;
		public var eraser_tool_mc:ItemButton;
		public var line_tool_mc:ItemButton;
		public var rectangle_tool_mc:ItemButton;
		public var fillbucket_tool_mc:ItemButton;
		public var selection_tool_mc:ItemButton;
		public var text_tool_mc:ItemButton;
		public var oval_tool_mc:ItemButton;
		public var clear_btn:SimpleButton;
		public var save_btn:SimpleButton;
		public var undo_btn:SimpleButton;
		public var redo_btn:SimpleButton;
		public var slider_label_txt:TextField;
		public var slider_2_label_txt:TextField;
		public var slider_3_label_txt:TextField;
		public var combo_label_txt:TextField;
		public var stroke_color_mc:ColorPicker;
		public var fill_color_mc:ColorPicker;
		public var slider_mc:Slider;
		public var slider_2_mc:Slider;
		public var slider_3_mc:Slider;
		public var zoom_slider_mc:Slider;
		public var combo_list:ComboBox;
		public var canvas:GraffitiCanvas;
		public var border:Sprite;
		private var _brush:BrushTool;
		private var _eraser:BrushTool;
		private var _line:LineTool;
		private var _shape:ShapeTool;
		private var _selectionTool:SelectionTool;
		private var _textTool:TextTool;
		private var _fillBucketTool:FillBucketTool;
		private var _brushSize:Number = 2;
		private var _strokeColor:uint = 0x00FF00;
		private var _fillColor:uint = 0xFF0000;
		private var _strokeAlpha:Number = 1;
		private var _fillAlpha:Number = 1;
		private var _brushBlur:Number = 0;
		private var _fontColor:uint = 0x00FF00;
		private var _fontSize:uint = 14;
		private var _brushShapeIndex:int;
		private var _lineStyleIndex:int;
		private var _fontIndex:uint = 0;
		private var _fontList:DataProvider;
		private var _brushShapes:DataProvider;
		private var _lineStyles:DataProvider;
		private var _fileRef:FileReference;
		private var _objectManager:GraffitiObjectManager;
		private var _orginalComboBoxItemsPos = new Object();
 
		public function Main() {
			canvas = new GraffitiCanvas(500, 250, 10);
			canvas.x = 0;
			canvas.y = 100;
			canvas.addEventListener(MouseEvent.MOUSE_WHEEL, scrollHandler);
			canvas.addEventListener(GraffitiCanvas.HISTORY_LENGTH_CHANGE, historyLengthChangeHandler);
			canvas.addEventListener(GraffitiObjectEvent.SELECT, objectEventHandler);
			canvas.addEventListener(GraffitiObjectEvent.ENTER_EDIT, objectEventHandler);
			addChild(canvas);
			_objectManager = GraffitiObjectManager.getInstance();
			stage.addEventListener(KeyboardEvent.KEY_DOWN, keyHandler);
			stage.addEventListener(KeyboardEvent.KEY_UP, keyHandler);
			selection_tool_mc.addEventListener(MouseEvent.CLICK, toolHandler);
			text_tool_mc.addEventListener(MouseEvent.CLICK, toolHandler);
			fillbucket_tool_mc.addEventListener(MouseEvent.CLICK, toolHandler);
			brush_tool_mc.addEventListener(MouseEvent.CLICK, toolHandler);
			eraser_tool_mc.addEventListener(MouseEvent.CLICK, toolHandler);
			line_tool_mc.addEventListener(MouseEvent.CLICK, toolHandler);
			rectangle_tool_mc.addEventListener(MouseEvent.CLICK, toolHandler);
			oval_tool_mc.addEventListener(MouseEvent.CLICK, toolHandler);
			_brushShapes = new DataProvider();
			_brushShapes.addItem({label:"Round", data: BrushType.ROUND});
			_brushShapes.addItem({label:"Square", data: BrushType.SQUARE});
			_brushShapes.addItem({label:"Diamond", data: BrushType.DIAMOND});
			_brushShapes.addItem({label:"Vertical", data: BrushType.VERTICAL_LINE});
			_brushShapes.addItem({label:"Horizontal", data: BrushType.HORIZONTAL_LINE});
			_brushShapes.addItem({label:"Forward", data: BrushType.FORWARD_LINE});
			_brushShapes.addItem({label:"Backward", data: BrushType.BACKWARD_LINE});
			_lineStyles = new DataProvider();
			_lineStyles.addItem({label:"Solid", data: LineType.SOLID});
			_lineStyles.addItem({label:"Dotted", data: LineType.DOTTED});
			_lineStyles.addItem( { label:"Dashed", data: LineType.DASHED } );
			_fontList = new DataProvider();
			var embeddedFonts:Array = Font.enumerateFonts(true);
			embeddedFonts.sortOn("fontName", Array.CASEINSENSITIVE);
			for (var i:int = 0; i < embeddedFonts.length; i++) {
				_fontList.addItem( {label: embeddedFonts[i].fontName, data: embeddedFonts[i] } );
			}
			_brush = new BrushTool(_brushSize, _fillColor, _fillAlpha, _brushBlur, BrushType.ROUND);
			_eraser = new BrushTool(_brushSize, _fillColor, 1, _brushBlur, BrushType.ROUND, ToolMode.ERASE);
			_line = new LineTool(2, _strokeColor, _strokeAlpha, LineType.SOLID);
			_shape = new ShapeTool(2, _strokeColor, _fillColor, _strokeAlpha, _fillAlpha, ShapeType.RECTANGLE);
			_fillBucketTool = new FillBucketTool(_fillColor, true);
			_selectionTool = new SelectionTool();
			_textTool = new TextTool(new TextSettings(Font(_fontList.getItemAt(0).data), new TextFormat(null, _fontSize, _fontColor)));
			stroke_color_mc.focusEnabled = false;
			stroke_color_mc.selectedColor = _strokeColor;
			stroke_color_mc.addEventListener(ColorPickerEvent.CHANGE, colorPickerHandler);
			stroke_color_mc.enabled = false;
			fill_color_mc.focusEnabled = false;
			fill_color_mc.selectedColor = _fillColor;
			fill_color_mc.addEventListener(ColorPickerEvent.CHANGE, colorPickerHandler);
			slider_mc.addEventListener(SliderEvent.CHANGE, sliderHandler);
			slider_2_mc.addEventListener(SliderEvent.CHANGE, sliderHandler);
			slider_3_mc.addEventListener(SliderEvent.CHANGE, sliderHandler);
			combo_list.addEventListener(Event.CHANGE, comboEventHandler);
			combo_list.dataProvider = _brushShapes;
			combo_list.focusEnabled = false;
			_orginalComboBoxItemsPos.comboBox = new Point(combo_list.x, combo_list.y);
			_orginalComboBoxItemsPos.comboBoxLabel = new Point(combo_label_txt.x, combo_label_txt.y);
			undo_btn.mouseEnabled = false;
			undo_btn.alpha = .5;
			redo_btn.mouseEnabled = false;
			redo_btn.alpha = .5;
			undo_btn.addEventListener(MouseEvent.CLICK, historyHandler);
			redo_btn.addEventListener(MouseEvent.CLICK, historyHandler);
			clear_btn.addEventListener(MouseEvent.CLICK, clearCanvasHandler);
			save_btn.addEventListener(MouseEvent.CLICK, saveHandler);
			zoom_slider_mc.maximum = canvas.maxZoom;
			zoom_slider_mc.addEventListener(SliderEvent.CHANGE, zoomHandler);
			canvas.activeTool = _brush;
			brush_tool_mc.selected = true;
			setSelectedBrushShape(BrushType.ROUND);
		}
 
		.....
	}
}
ну и дальше пошли функции...

4-ая строка - import flash.display.SimpleButton;

Добавлено через 13 минут
ну что такое "..." я понял. я не совсем понимаю что такое:

Код AS3:
myBtn = MyBtn();
addChild(myBtn);
и как actionscript понимает, что myBtn это моя кнопка которая в library называется как back

Старый 31.07.2011, 20:15
GrafMine вне форума Посмотреть профиль Отправить личное сообщение для GrafMine Найти все сообщения от GrafMine
  № 5  
Ответить с цитированием
GrafMine
 
Аватар для GrafMine

Регистрация: Jan 2011
Сообщений: 247
Ваш код Main.as он не полный, вы показали какие библиотеки подключены, какие переменные объявлены и какие обработки событий есть, где все функции?
мне кажется вам надо начать с более легких приложения чтоб разобраться в данном языке...

Старый 31.07.2011, 20:40
syegorius вне форума Посмотреть профиль Отправить личное сообщение для syegorius Найти все сообщения от syegorius
  № 6  
Ответить с цитированием
syegorius

Регистрация: Nov 2010
Сообщений: 91
сам код содержит 300000 символов, а тут можно только 100000 за один раз опубликовать поэтому я так сделал.

это приложение которое я сейчас делаю я уже сам полностью передел под себя, и все что осталось это только вставить обработчик для этой новой кнопки.

вот вторая часть main.as, которая идет сразу после того что я уже написал выше...

Код AS3:
private function objectEventHandler(e:GraffitiObjectEvent):void {
			var font:Font;
			var fmt:TextFormat;
			var i:int;
			if (e.type == GraffitiObjectEvent.SELECT) {
				font = Text(e.graffitiObject).textSetting.font;
				fmt = Text(e.graffitiObject).textSetting.textFormat;
				_fontSize = Number(fmt.size);
				var fontFromList:Font;
				var numberFonts:uint = _fontList.length;
				for (i = 0; i < numberFonts; i++) {
					fontFromList = Font(_fontList.getItemAt(i).data);
					if (fontFromList.fontName == font.fontName && fontFromList.fontStyle == font.fontStyle) {
						_fontIndex = i;
						break;
					}
				}
				if (canvas.activeTool is TextTool) {	
					TextTool(canvas.activeTool).textSettings = new TextSettings(font, fmt);
				} else {
					_textTool.textSettings.textFormat.size = Number(fmt.size);
				}
				combo_list.selectedIndex = _fontIndex;
				slider_mc.value = Number(fmt.size);	
				fill_color_mc.selectedColor = uint(fmt.color);
			} else if (e.type == GraffitiObjectEvent.ENTER_EDIT) {
				if (e.graffitiObject is Text && !(canvas.activeTool is TextTool)) {
					setActiveTool(text_tool_mc);
				}
			}	
		}
 
		private function historyHandler(e:MouseEvent):void {
			if(e.currentTarget == undo_btn) {
				canvas.prevHistory();
				if(canvas.historyPosition == 0) {
					undo_btn.mouseEnabled = false;
					undo_btn.alpha = .5;
				}
				redo_btn.mouseEnabled = true;
				redo_btn.alpha = 1;
			} else if(e.currentTarget == redo_btn) {
				canvas.nextHistory();
				if(canvas.historyPosition == (canvas.historyLength - 1)) {
					redo_btn.mouseEnabled = false;
					redo_btn.alpha = .5;
				}
				undo_btn.mouseEnabled = true;
				undo_btn.alpha = 1;
			}
		}
 
		private function clearCanvasHandler(e:MouseEvent):void {
			canvas.clearCanvas();
		}
 
		private function saveHandler(e:MouseEvent):void {
			var canvasBmp:BitmapData = canvas.drawing();
			var pngEncoder:PNGEncoder = new PNGEncoder();
			var pngStream:ByteArray = PNGEncoder.encode(canvasBmp);
			canvasBmp.dispose();
			var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
			var pngURLRequest:URLRequest = new URLRequest(String(ExternalInterface.call("getLink")));//("http://prznd_d.server/?graffiti=true&user=5&s=b&kyka=1&cus=a&author=9");
			pngURLRequest.requestHeaders.push(header);
			pngURLRequest.method = URLRequestMethod.POST;
			pngURLRequest.data = pngStream;
			var loader:URLLoader = new URLLoader(pngURLRequest);
			loader.addEventListener(Event.COMPLETE, phpComplete);
			loader.load(pngURLRequest);
		}
 
		public function phpComplete(event:Event):void{
					var variables:URLVariables = new URLVariables(event.target.data);
					canvas.clearCanvas();
					if(variables.res=='done')ExternalInterface.call("closeGraffiti");
					else ExternalInterface.call("errorGraffiti");
		}
 
		private function historyLengthChangeHandler(e:Event):void {
			if(canvas.historyLength > 0 && canvas.historyPosition != 0) {
				undo_btn.mouseEnabled = true;
				undo_btn.alpha = 1;
			} else {
				undo_btn.mouseEnabled = false;
				undo_btn.alpha = .5;
			}
			if(canvas.historyLength > 0 && canvas.historyPosition != canvas.historyLength - 1) {
				redo_btn.mouseEnabled = true;
				redo_btn.alpha = 1;
			} else {
				redo_btn.mouseEnabled = false;
				redo_btn.alpha = .5;
			}
		}
 
		private function zoomHandler(e:SliderEvent):void {
			canvas.zoom = e.value;
		}
 
		private function colorPickerHandler(e:ColorPickerEvent):void {
			var font:Font;
			var fmt:TextFormat;
			var ts:TextSettings;
			if(canvas.activeTool is BrushTool) {
				_fillColor = e.color;
				BrushTool(canvas.activeTool).color = _fillColor;
			} else if(canvas.activeTool is LineTool) {
				_strokeColor = e.color;
				LineTool(canvas.activeTool).color = _strokeColor;
			} else if(canvas.activeTool is ShapeTool) {
				if(e.currentTarget == stroke_color_mc) {
					_strokeColor = e.color;
					ShapeTool(canvas.activeTool).strokeColor = _strokeColor;
				} else if (e.currentTarget == fill_color_mc) {
					_fillColor = e.color;
					ShapeTool(canvas.activeTool).fillColor = _fillColor;
				}
 
			} else if (canvas.activeTool is TextTool) {
				fmt = TextTool(canvas.activeTool).textSettings.textFormat;
				fmt.color = fill_color_mc.selectedColor;
				TextTool(canvas.activeTool).textSettings.textFormat = fmt;
				if (_objectManager.areObjectsSelected()) {
					font = Font(combo_list.selectedItem.data);
					fmt = new TextFormat(null, slider_mc.value, fill_color_mc.selectedColor);
					ts = new TextSettings(font, fmt);
					_objectManager.changeSettingsForSelectedObjects(ts);
				}
			} else if (canvas.activeTool is SelectionTool) {
				font = Font(combo_list.selectedItem.data);
				fmt = new TextFormat(null, slider_mc.value, fill_color_mc.selectedColor);
				ts = new TextSettings(font, fmt);
				_textTool.textSettings = ts;
				if (_objectManager.areObjectsSelected()) {
					_objectManager.changeSettingsForSelectedObjects(ts);
				}
			} else if (canvas.activeTool is FillBucketTool) {
				FillBucketTool(canvas.activeTool).fillColor = fill_color_mc.selectedColor;
			}
		}
 
		private function sliderHandler(e:SliderEvent):void {
			var font:Font;
			var fmt:TextFormat;
			var ts:TextSettings;
			if(e.currentTarget == slider_mc) {
				if(canvas.activeTool == _brush || canvas.activeTool == _eraser) {
					_brushSize = e.value;
					BrushTool(canvas.activeTool).size = _brushSize;
				} else if(canvas.activeTool == _line) {
					LineTool(canvas.activeTool).lineWidth = e.value;
				} else if(canvas.activeTool == _shape) {
					ShapeTool(canvas.activeTool).strokeWidth = e.value;
				} else if (canvas.activeTool is TextTool) {
					_fontSize = slider_mc.value;
					fmt = TextTool(canvas.activeTool).textSettings.textFormat;
					fmt.size = slider_mc.value;
					TextTool(canvas.activeTool).textSettings.textFormat = fmt;
					if (_objectManager.areObjectsSelected()) {
						font = Font(combo_list.selectedItem.data);
						fmt = new TextFormat(null, slider_mc.value, fill_color_mc.selectedColor);
						ts = new TextSettings(font, fmt);
						_objectManager.changeSettingsForSelectedObjects(ts);
					}
				} else if (canvas.activeTool == _selectionTool) {
					_fontSize = slider_mc.value;
					font = Font(combo_list.selectedItem.data);
					fmt = new TextFormat(null, slider_mc.value, fill_color_mc.selectedColor);
					ts = new TextSettings(font, fmt);
					_textTool.textSettings = ts;
					if (_objectManager.areObjectsSelected()) {
						_objectManager.changeSettingsForSelectedObjects(ts);
					}
				}
			} else if(e.currentTarget == slider_2_mc) {
				if(canvas.activeTool is BrushTool) {
					_fillAlpha = e.value;
					BrushTool(canvas.activeTool).alpha = e.value;
				} else if (canvas.activeTool is LineTool) {
					_strokeAlpha = e.value;
					LineTool(canvas.activeTool).alpha = e.value;
				} else if (canvas.activeTool is ShapeTool) {
					_strokeAlpha = e.value;
					ShapeTool(canvas.activeTool).strokeAlpha = e.value;
				}
			} else if(e.currentTarget == slider_3_mc) {
				if(canvas.activeTool is BrushTool) {
					_brushBlur = e.value;
					BrushTool(canvas.activeTool).blur = e.value;
				} else if(canvas.activeTool is ShapeTool) {
					_fillAlpha = e.value;
					ShapeTool(canvas.activeTool).fillAlpha = e.value;
				}
			}
		}

Старый 31.07.2011, 20:41
syegorius вне форума Посмотреть профиль Отправить личное сообщение для syegorius Найти все сообщения от syegorius
  № 7  
Ответить с цитированием
syegorius

Регистрация: Nov 2010
Сообщений: 91
третья часть:

Код AS3:
private function setActiveTool(toolButton:ItemButton):void {
			brush_tool_mc.selected = false;
			eraser_tool_mc.selected = false;
			line_tool_mc.selected = false;
			rectangle_tool_mc.selected = false;
			oval_tool_mc.selected = false;
			selection_tool_mc.selected = false;
			fillbucket_tool_mc.selected = false;
			text_tool_mc.selected = false;
			combo_label_txt.visible = true;
			combo_list.visible = true;
			combo_list.x = _orginalComboBoxItemsPos.comboBox.x;
			combo_list.y = _orginalComboBoxItemsPos.comboBox.y;
			combo_label_txt.x = _orginalComboBoxItemsPos.comboBoxLabel.x;
			combo_label_txt.y = _orginalComboBoxItemsPos.comboBoxLabel.y;
			slider_mc.minimum = 2;
			slider_mc.maximum = 40;
			slider_mc.visible = true;
			slider_label_txt.visible = true;
			slider_2_label_txt.visible = true;
			slider_2_mc.visible = true;
			slider_3_label_txt.visible = true;
			slider_3_mc.visible = true;
			slider_2_label_txt.alpha = 1;
			fill_color_mc.enabled = true;
			stroke_color_mc.enabled = true;
			if(toolButton == brush_tool_mc) {
				brush_tool_mc.selected = true;
				stroke_color_mc.enabled = false;
				combo_label_txt.text = "SHAPE";
				combo_list.dataProvider = _brushShapes;
				combo_list.selectedIndex = _brushShapeIndex;
				_brush.color = fill_color_mc.selectedColor;
				_brush.alpha = _fillAlpha;
				_brush.blur = _brushBlur;
				_brush.size = _brushSize;
				_brush.type = combo_list.selectedItem.data;
				canvas.activeTool = _brush;
				slider_label_txt.text = "SIZE";
				slider_mc.value = _brush.size;
				slider_2_label_txt.text = "OPACITY";
				slider_2_label_txt.alpha = 1;
				slider_2_mc.enabled = true;
				slider_2_mc.snapInterval = .1;
				slider_2_mc.value = _brush.alpha;
				slider_3_label_txt.text = "BLUR";
				slider_3_label_txt.visible = true;
				slider_3_label_txt.alpha = 1;
				slider_3_mc.visible = true;
				slider_3_mc.snapInterval = 1;
				slider_3_mc.enabled = true;
				slider_3_mc.minimum = 0;
				slider_3_mc.maximum = 20;
				slider_3_mc.value = _brush.blur;
			} else if(toolButton == eraser_tool_mc) {
				eraser_tool_mc.selected = true;
				fill_color_mc.enabled = false;
				stroke_color_mc.enabled = false;
				combo_label_txt.text = "SHAPE";
				combo_list.dataProvider = _brushShapes;
				combo_list.selectedIndex = _brushShapeIndex;
				_eraser.color = fill_color_mc.selectedColor;
				_brush.alpha = 1;
				_brush.blur = _brushBlur;
				_eraser.size = _brushSize;
				_eraser.type = combo_list.selectedItem.data;
				canvas.activeTool = _eraser;
				slider_label_txt.text = "SIZE";
				slider_mc.value = _eraser.size;
				slider_2_label_txt.text = "OPACITY";
				slider_2_label_txt.alpha = .5;
				slider_2_mc.enabled = false;
				slider_2_mc.snapInterval = .1;
				slider_2_mc.value = _eraser.alpha;
				slider_3_label_txt.text = "BLUR";
				slider_3_label_txt.visible = true;
				slider_3_label_txt.alpha = .5;
				slider_3_mc.visible = true;
				slider_3_mc.minimum = 0;
				slider_3_mc.maximum = 20;
				slider_3_mc.enabled = false;
				slider_3_mc.value = _eraser.blur;
			} else if(toolButton == line_tool_mc) {
				line_tool_mc.selected = true;
				fill_color_mc.enabled = false;
				combo_label_txt.text = "STYLE";
				combo_list.dataProvider = _lineStyles;
				combo_list.selectedIndex = _lineStyleIndex;
				combo_label_txt.x = slider_3_label_txt.x + 8;
				combo_list.x = slider_3_mc.x;
				_line.color = stroke_color_mc.selectedColor;
				_line.alpha = _strokeAlpha;
				_line.type = combo_list.selectedItem.data;
				canvas.activeTool = _line;
				slider_label_txt.text = "SIZE";
				slider_mc.value = _line.lineWidth;
				slider_2_label_txt.text = "OPACITY";
				slider_2_mc.enabled = true;
				slider_2_mc.snapInterval = .1;
				slider_2_mc.value = _line.alpha;
				slider_3_label_txt.visible = false;
				slider_3_mc.visible = false;
			} else if(toolButton == rectangle_tool_mc) {
				rectangle_tool_mc.selected = true;
				_shape.strokeColor = stroke_color_mc.selectedColor;
				_shape.fillColor = fill_color_mc.selectedColor;
				_shape.strokeAlpha = _strokeAlpha;
				_shape.fillAlpha = _fillAlpha;
				_shape.type = ShapeType.RECTANGLE;
				canvas.activeTool = _shape;
				slider_label_txt.text = "STROKE SIZE";
				slider_mc.value = _shape.strokeWidth;
				slider_2_label_txt.text = "STROKE OPACITY";
				slider_2_label_txt.alpha = 1;
				slider_2_mc.enabled = true;
				slider_2_mc.snapInterval = .1;
				slider_2_mc.value = _shape.strokeAlpha;
				slider_3_label_txt.text = "FILL OPACITY";
				slider_3_label_txt.visible = true;
				slider_3_label_txt.alpha = 1;
				slider_3_mc.visible = true;
				slider_3_mc.enabled = true;
				slider_3_mc.minimum = 0;
				slider_3_mc.maximum = 1;
				slider_3_mc.snapInterval = .1;
				slider_3_mc.value = _shape.fillAlpha;
				combo_label_txt.visible = false;
				combo_list.visible = false;
			} else if(toolButton == oval_tool_mc) {
				oval_tool_mc.selected = true;
				_shape.strokeColor = stroke_color_mc.selectedColor;
				_shape.fillColor = fill_color_mc.selectedColor;
				_shape.strokeAlpha = _strokeAlpha;
				_shape.fillAlpha = _fillAlpha;
				_shape.type = ShapeType.OVAL;
				canvas.activeTool = _shape;
				slider_label_txt.text = "STROKE SIZE";
				slider_mc.value = _shape.strokeWidth;
				slider_2_label_txt.text = "STROKE OPACITY";
				slider_2_label_txt.alpha = 1;
				slider_2_mc.enabled = true;
				slider_2_mc.snapInterval = .1;
				slider_2_mc.value = _shape.strokeAlpha;
				slider_3_label_txt.text = "FILL OPACITY";
				slider_3_label_txt.visible = true;
				slider_3_label_txt.alpha = 1;
				slider_3_mc.visible = true;
				slider_3_mc.enabled = true;
				slider_3_mc.minimum = 0;
				slider_3_mc.maximum = 1;
				slider_3_mc.snapInterval = .1;
				slider_3_mc.value = _shape.fillAlpha;
				combo_label_txt.visible = false;
				combo_list.visible = false;
			} else if (toolButton == text_tool_mc || toolButton == selection_tool_mc) {
				stroke_color_mc.enabled = false;
				slider_label_txt.text = "SIZE";
				combo_label_txt.text = "FONT";
				combo_list.dataProvider = _fontList;
				combo_list.selectedIndex = _fontIndex;
				slider_2_label_txt.visible = false;
				slider_2_mc.visible = false;
				slider_3_label_txt.visible = false;
				slider_3_mc.visible = false;
				combo_label_txt.x = slider_2_label_txt.x + 8;
				combo_list.x = slider_2_mc.x; 
				slider_mc.minimum = 10;
				slider_mc.maximum = 44;
				slider_mc.value = Number(_textTool.textSettings.textFormat.size);
				if (toolButton == selection_tool_mc) {
					selection_tool_mc.selected = true;
					canvas.activeTool = _selectionTool;
				} else {
					text_tool_mc.selected = true;
					var font:Font = Font(combo_list.selectedItem.data);
					var fmt:TextFormat = new TextFormat();
					fmt.size = slider_mc.value;
					fmt.color = fill_color_mc.selectedColor;
					_textTool.textSettings = new TextSettings(font, fmt);
					canvas.activeTool = _textTool;
				}
			} else if (toolButton == fillbucket_tool_mc) {
				slider_mc.visible = false;
				slider_label_txt.visible = false;
				slider_2_label_txt.visible = false;
				slider_2_mc.visible = false;
				slider_3_label_txt.visible = false;
				slider_3_mc.visible = false;
				combo_label_txt.visible = false;
				combo_list.visible = false;
				this.stroke_color_mc.enabled = false;
				this._fillBucketTool.fillColor = fill_color_mc.selectedColor;
				fillbucket_tool_mc.selected = true;
				canvas.activeTool = _fillBucketTool;
			}
		}
 
		private function toolHandler(e:MouseEvent):void {
			setActiveTool(ItemButton(e.currentTarget));
		}
 
		private function comboEventHandler(e:Event):void {
			var font:Font;
			var fmt:TextFormat;
			var ts:TextSettings;
			if(canvas.activeTool is BrushTool) {
				_brushShapeIndex = ComboBox(e.currentTarget).selectedIndex;
				setSelectedBrushShape(ComboBox(e.currentTarget).selectedItem.data);
			} else if(canvas.activeTool is LineTool) {
				_lineStyleIndex = ComboBox(e.currentTarget).selectedIndex;
				setSelectedLineStyle(ComboBox(e.currentTarget).selectedItem.data);
			} else if (canvas.activeTool is TextTool) {
				font = Font(combo_list.selectedItem.data);
				TextTool(canvas.activeTool).textSettings.font = font;
				_fontIndex = combo_list.selectedIndex;
				if (_objectManager.areObjectsSelected()) {
					fmt = new TextFormat(null, slider_mc.value, fill_color_mc.selectedColor);
					ts = new TextSettings(font, fmt);
					_objectManager.changeSettingsForSelectedObjects(ts);
				}
			} else if (canvas.activeTool is SelectionTool) {
				font = Font(combo_list.selectedItem.data);
				fmt = new TextFormat(null, slider_mc.value, fill_color_mc.selectedColor);
				ts = new TextSettings(font, fmt);
				_fontIndex = combo_list.selectedIndex;
				_textTool.textSettings = ts;
				if (_objectManager.areObjectsSelected()) {
					_objectManager.changeSettingsForSelectedObjects(ts);
				}
			}
		}
 
		private function setSelectedLineStyle(localType:String):void {
			if(BitmapTool(canvas.activeTool).type != localType) {
				BitmapTool(canvas.activeTool).type = localType;		
			}
		}
 
		private function setSelectedBrushShape(localType:String):void {
			if(BitmapTool(canvas.activeTool).type != localType) {
				BitmapTool(canvas.activeTool).type = localType;
			}
		}
 
		public function scrollHandler(e:MouseEvent):void {
			canvas.zoom += (e.delta/3) * 1;
			zoom_slider_mc.value = canvas.zoom;
		}
 
		public function keyHandler(e:KeyboardEvent):void {
			if(!_objectManager.areObjectsSelected()) {
				if(e.keyCode == Keyboard.SPACE) {
					if(e.type == KeyboardEvent.KEY_UP) {
						canvas.mouseDrag = false;
					} else if(e.type == KeyboardEvent.KEY_DOWN) {
						canvas.mouseDrag = true;
					}
				} 
			}
		}
	}
}

Старый 31.07.2011, 21:30
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Вы скачали наиужаснейшие исходники. Не соблюдена конвенция, рефакторинг нервно курит в сторонке. И вообще, очень страшно смотреть на такие простыни.
Цитата:
и как actionscript понимает, что myBtn это моя кнопка которая в library называется как back
То есть back - это класс кнопки?
Код AS3:
var myBtn:SimpleButton = new back();
addChild(myBtn);
__________________
тут я

Старый 31.07.2011, 21:34
syegorius вне форума Посмотреть профиль Отправить личное сообщение для syegorius Найти все сообщения от syegorius
  № 9  
Ответить с цитированием
syegorius

Регистрация: Nov 2010
Сообщений: 91
back - это ее название в библиотеки символов

Старый 31.07.2011, 21:39
BornTOFree вне форума Посмотреть профиль Отправить личное сообщение для BornTOFree Найти все сообщения от BornTOFree
  № 10  
Ответить с цитированием
BornTOFree

Регистрация: Oct 2010
Сообщений: 85
Цитата:
import flash.display.SimpleButton;
а..это флеш класс, у меня не было необходимости где-то использовать его, вот здесь можете почитать, что он из себя представляет
http://help.adobe.com/ru_RU/FlashPla...filter_air=2.6

Цитата:
и как actionscript понимает, что myBtn это моя кнопка которая в library называется как back
Здесь все просто. Созданную кнопку, в library, нужно связать с кодом. В library на против созданной кнопки есть поле linkage, щелкните на него дважды и напишите название, к примеру MyBtn.

в коде
Код AS3:
var myBtn:MyBtn = new MyBtn();
addChild(myBtn);

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:51.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.