אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » מדריכים » לימוד Action Script 3 ו-פלאש » אירועים ב-ActionScript 3 – המשך

אירועים ב-ActionScript 3 – המשך

רן בר-זיק יולי 2, 2009 5:22 am אין תגובות

אירועי עכבר ומקלדת ב-ActionScript 3

המאמר הקודם במדריך ה-AS3Action Script 3 – אירועים
המאמר הבא במדריך ה-AS3ActionScript 3 – אנימציות
כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

אחרי שלמדנו על dispatchEvents ואירועים ב-ActionScript 3 במאמר הקודם, כדאי שנרחיב מעט על אירועים. במאמר הזה אנו ניצור square sprite ועליו נעשה את כל האירועים. ראשית, ניצור את ה squareSprite – אובייקט שיוצר sprite מרובע במקום רנדומלי, בדיוק כמו ה-sprite שדיברנו עליו במאמר הקודם. ל-sprite הזה יש מתודת changeMyColor שתופעל על ידי event (בגלל זה היא גם מקבלת פרמטר event שמועבר באופן דיפולטיבי לכל פונקציה שמופעלת כתוצאה מאירוע). המתודה משנה את הצבע לצבע אקראי כלשהו ועושה trace שמדפיס את האירוע.


package {
	import flash.display.Sprite;
	import flash.events.*;
	import flash.geom.*;

	public class squareSprite {
		public var m_squareSprite:Sprite = new Sprite();

		public function squareSprite(myStage) {
			var myX:Number = Math.round(Math.random() * (myStage.stageWidth));
			var myY:Number = Math.round(Math.random() * (myStage.stageHeight));
			this.m_squareSprite.graphics.beginFill(0x000000);
			this.m_squareSprite.graphics.drawRect(myX, myY, 50, 50);
			this.m_squareSprite.graphics.endFill();
			myStage.addChild(m_squareSprite);
		}
		public function changeMyColor(ev:Event) 
		{
			trace("color change!" + ev);
			var myColor:ColorTransform = this.m_squareSprite.transform.colorTransform;
			myColor.color = Math.random() * 0xFFFFFF;;
			this.m_squareSprite.transform.colorTransform = myColor;
		}
	}
}

יצירת האובייקט הזה ב-fla פשוטה מאד:


var m_squareSprite:squareSprite  = new squareSprite(stage);

עכשיו בואו וניצור מאזינים לאירועים. נוסיף addEventListener לכל אירוע של העכבר. בעוד שבמאמר הקודם השתמשנו במחרוזת טקסט כגון "click" הפעם אנו נשתמש בקבועים – במקום "click" נשתמש ב-MouseEvent.CLICK.

הוספת המאזין תהיה פשוטה ביותר, רק להוסיף את השורה הזו:


			this.m_squareSprite.addEventListener(MouseEvent.CLICK, changeMyColor);


וכך נראה הקוד עם המאזין שלנו:


package {
	import flash.display.Sprite;
	import flash.events.*;
	import flash.geom.*;

	public class squareSprite {
		public var m_squareSprite:Sprite = new Sprite();

		public function squareSprite(myStage) {
			var myX:Number = Math.round(Math.random() * (myStage.stageWidth));
			var myY:Number = Math.round(Math.random() * (myStage.stageHeight));
			this.m_squareSprite.graphics.beginFill(0x000000);
			this.m_squareSprite.graphics.drawRect(myX, myY, 50, 50);
			this.m_squareSprite.graphics.endFill();
			myStage.addChild(m_squareSprite);
			this.m_squareSprite.addEventListener(MouseEvent.CLICK, changeMyColor);
			
		}
		public function changeMyColor(ev:Event) 
		{
			trace("color change!" + ev);
			var myColor:ColorTransform = this.m_squareSprite.transform.colorTransform;
			myColor.color = Math.random() * 0xFFFFFF;;
			this.m_squareSprite.transform.colorTransform = myColor;
		}
	}
}

וככה זה נראה במציאות, הפעילו את ה-Flash Tracer שלכם ושימו לב לאירוע שמודפס ולכל הפרמטרים שלו. הפרמטרים האלו נותנים לנו מידע נוסף על האירוע – כמו למשל אם בעת הלחיצה מקשי ה-ctrl ה-shift או ה-alt היו מופעלים.

להלן סוגי האירועים שיש:

MouseEvent.CLICK – קליק, האירוע שאותו הדגמנו.

DOUBLE_CLICK – הקלקה כפולה.

MOUSE_DOWN – כאשר מקש העכבר נלחץ (תחילת הקליק).

MOUSE_UP -כאשר אנו משחררים את מקש העכבר (סוף הקליק).

MOUSE_LEAVE – כאשר העכבר זז מחוץ לבמה.

MOUSE_MOVE -כאשר העכבר זז.

MOUSE_OUT – כאשר העכבר זז אל מחוץ לאובייקט.

MOUSE_OVER – כאשר העכבר זז אל מעל האובייקט.

MOUSE_WHEEL – כאשר גלגל העכבר מופעל (ואז האירוע מעביר דלתא עבור מיקום וכיוון הגלילה).

אירועי מקלדת

אירועי מקלדת הם יותר פשוטים מאירועי עכבר. באירועי מקלדת יש רק כפתור שנלחץ וכפתור ששוחרר, זה הכל. האירוע כמובן מעביר לנו את קוד המקש ופרטים נוספים. בואו ונשתמש ב-sprite שלנו ונשים שם אירוע של מקלדת שמפעיל את פונקצית החלפת הצבעים.

מאזין לאירוע מקלדת פועל אך ורק על אובייקט שהפוקוס עליו. על מנת לוודא שהמאזין תמיד יעבוד בכל הקשת מקלדת, אנו פשוט נצמיד אותו ל-stage:


package {
	import flash.display.Sprite;
	import flash.events.*;
	import flash.geom.*;

	public class squareSprite {
		public var m_squareSprite:Sprite = new Sprite();

		public function squareSprite(myStage) {
			var myX:Number = Math.round(Math.random() * (myStage.stageWidth));
			var myY:Number = Math.round(Math.random() * (myStage.stageHeight));
			this.m_squareSprite.graphics.beginFill(0x000000);
			this.m_squareSprite.graphics.drawRect(myX, myY, 50, 50);
			this.m_squareSprite.graphics.endFill();
			myStage.addChild(m_squareSprite);
			myStage.addEventListener(KeyboardEvent.KEY_DOWN, changeMyColor);
			
		}
		public function changeMyColor(ev:Event) 
		{
			trace("color change!" + ev);
			var myColor:ColorTransform = this.m_squareSprite.transform.colorTransform;
			myColor.color = Math.random() * 0xFFFFFF;;
			this.m_squareSprite.transform.colorTransform = myColor;
		}
	}
}

כך זה נראה. שימו לב שהפעם באירוע מועבר keyCode שהוא המספר של המקש שנלחץ. אל תשכחו ללחוץ על הפלאש עצמו על מנת להעביר אליו את הפוקוס של הדפדפן.

עד כאן בנוגע לאירועים. במאמר הבא אנו נלמד על אנימציה וטרנספורמציה של צורות ב-ActionScript 3.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
קרנה של פלאש ירדה בשנים האחרונות, אבל כאן תוכלו ללמוד AS3 או לשפר את הידע שלכם בשפה זו.
המדריך ללימוד Action Scrip 3
ActionScript 3
ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

    הפרויקטים שאני כותב ושוחררו לציבור ברישיון קוד פתוח נמצאים ברובם בגיטהאב.
חיפוש

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד