Флэш-приложения: техника программирования — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Справочные материалы)
Строка 99: Строка 99:
 
</source>
 
</source>
 
</toggledisplay>
 
</toggledisplay>
 
== Другие страницы на сайте, использующие флэш-приложения ==
 
 
*[[Флэш-приложения]]
 
*[[Balls: flash application]]
 
*[[Пшенов Антон. Курсовой проект по теоретической механике]]
 
 
== Средства разработки флэш-приложений ==
 
 
Разработка ведется на языке [http://ru.wikipedia.org/wiki/ActionScript ActionScript] 3.0.
 
Для работы необходимо установить:
 
 
* Бесплатная среда разработки [https://e.mail.ru/cgi-bin/msglist?back=1#readmsg?id=13560394230000000699&folder=0 FlashDevelop 4.2.2]
 
* Комплект средств разработки (SDK) [http://www.adobe.com/devnet/flex/flex-sdk-download-all.html Adobe Flex SDK 4.6]
 
 
== Справочные материалы ==
 
 
* [http://racer242install.blogspot.ru/2008/04/flashdevelop-300-beta6-flex-sdk-3.html Советы по установке]
 
* [http://help.adobe.com/ru_RU/as3/learn/index.html Справочные данные и изучение на русском языке]
 
* [http://easyflash.org/ Флэш-уроки на русском языке]
 
* [http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/index.html ActionScript® 3.0 Reference for the Adobe® Flash® Platform]
 
  
 
== См. также ==
 
== См. также ==
  
 +
*[[Флэш-программирование]]
 +
*[[Программирование и моделирование в Интернет]]
 
*[[Интересные ссылки]]
 
*[[Интересные ссылки]]
 +
*[http://www.ibiblio.org/e-notes/webgl/webgl.htm WebGL examples]
  
  
 
[[Category: flash]]
 
[[Category: flash]]

Версия 01:39, 27 января 2013

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

Использование мыши

Флэш-приложение, позволяющее при помощи мыши перетаскивать два графических объекта — квадрат и круг. Кроме того, демонстрируется возможность делать объекты полупрозрачными (свойство alpha, характеризующее "непрозрачность" объекта, при его перетаскивании устанавливается равным 0.5).

play=true|height=320|width=400</flash>


Текст программы на языке ActionScript 3.0 (разработчик А. Кривцов на основе статьи Changing position из ActionScript 3.0 Developer's Guide): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default">

package 
{
	// This code creates a drag-and-drop interaction using the mouse-following 
	// technique. 
	// circle and square are DisplayObjects (e.g. MovieClip or Sprite  
	// instances). 
	 
	import flash.display.Sprite;
	import flash.display.DisplayObject; 
	import flash.events.MouseEvent; 
	 
	public class Main extends Sprite 
	{
		public var offsetX:Number; 
		public var offsetY:Number; 
		public var draggedObject:DisplayObject; 
		
		public var circle:Sprite = new Sprite(); 
		public var square:Sprite = new Sprite(); 
		 
		// This function is called when the mouse button is pressed. 
		public function startDragging(event:MouseEvent):void 
		{ 
			// remember which object is being dragged 
			draggedObject = DisplayObject(event.target); 
			 
			// Record the difference (offset) between where the cursor was when 
			// the mouse button was pressed and the x, y coordinate of the 
			// dragged object when the mouse button was pressed. 
			offsetX = event.stageX - draggedObject.x; 
			offsetY = event.stageY - draggedObject.y; 
			 
			// move the selected object to the top of the display list 
			stage.addChild(draggedObject); 
			 
			// Tell Flash Player to start listening for the mouseMove event. 
			stage.addEventListener(MouseEvent.MOUSE_MOVE, dragObject); 
		} 
		 
		// This function is called when the mouse button is released. 
		public function stopDragging(event:MouseEvent):void 
		{ 
			// Tell Flash Player to stop listening for the mouseMove event. 
			stage.removeEventListener(MouseEvent.MOUSE_MOVE, dragObject); 
			draggedObject.alpha = 1; 
		} 
		 
		// This function is called every time the mouse moves, 
		// as long as the mouse button is pressed down. 
		public function dragObject(event:MouseEvent):void 
		{ 
			// Move the dragged object to the location of the cursor, maintaining  
			// the offset between the cursor's location and the location  
			// of the dragged object. 
			draggedObject.x = event.stageX - offsetX; 
			draggedObject.y = event.stageY - offsetY; 
			draggedObject.alpha = 0.5; 
			 
			// Instruct Flash Player to refresh the screen after this event. 
			event.updateAfterEvent(); 
		} 
		 
		public function Main():void 
		{
			var y0:Number = stage.stageHeight / 2;
			var r: Number = stage.stageWidth  / 7;
			
			circle.graphics.beginFill(0x0000ff); 
			circle.graphics.drawCircle(5 * r, y0, r); 
			circle.graphics.endFill(); 
			addChild(circle); 		 

			square.graphics.beginFill(0xff0000); 
			square.graphics.drawRect(r, y0 - r, 2*r, 2*r); 
			square.graphics.endFill(); 
			addChild(square); 		 

			circle.addEventListener(MouseEvent.MOUSE_DOWN, startDragging); 
			circle.addEventListener(MouseEvent.MOUSE_UP, stopDragging); 
			 
			square.addEventListener(MouseEvent.MOUSE_DOWN, startDragging); 
			square.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
		}
	}
}

</toggledisplay>

См. также