דילוג לתוכן הראשי

Actionscript ב-5 דקות - אירועים ומאזינים 2

כתבה זו היא המשך לכתבה קודמת בנושא אירועים (events) ומאזינים (listeners)

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


למעשה ראינו את הדג ואת הסמן יחד, על הבמה.

אני רוצה להראות לכם כאן באמצעות הדג, איך ניתן להחליף את סמן העכבר בכל movieclip שתעצבו בעצמכם, או תבחרו להשתמש.







פתחו את ה-FLA שיצרנו בפעם הקודמת (ניתן להוריד אותו בכתבה הקודמת), בחרו בפריים 1 ולחצו F9 כדי לפתוח את חלון עריכת הקוד.

זה מה שאתם אמורים לראות (הוספתי הערות הסבר):


import flash.events.*; //importing library of utilities for events listening

stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener); //declare which event to listen to


//this chain of events will happen every time the mouse moves

function mouseMoveListener (event:MouseEvent):void

{

fish.x=mouseX; //place the fish movie clip on x-axis just where the mouse pointer is

fish.y=mouseY; //place the fish movie clip on y-axis just where the mouse pointer is

}


עכשיו, כדי "להחליף" את הסמן ב-movieclip של הדג, פשוט נעלים את הסמן. הוסיפו את שורת הקוד הבאה אחרי השורה השניה בקוד:

Mouse.hide(); //hide the mouse pointer


עכשיו הקוד אמור להיראות כך:


import flash.events.*; //importing library of utilities for events listening

stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener); //declare which event to listen to

Mouse.hide; //hide the mouse pointer

//this chain of events will happen every time the mouse moves

function mouseMoveListener (event:MouseEvent):void

{

fish.x=mouseX; //place the fish movie clip on x-axis just where the mouse pointer is

fish.y=mouseY; //place the fish movie clip on y-axis just where the mouse pointer is

}


עכשיו הדג כבר לא שוחה אחרי הסמן, אלא הוא בעצמו הפך לסמן!



את התוצאה ניתן לראות ב-SWF הבא:




















את קובץ המקור ניתן להוריד מהשרת של קודאקטיב.

תגובות

פוסטים פופולריים מהבלוג הזה

כלים לפיתוח משחקים בלי ידע בתכנות

מאחר ויש לי די הרבה נסיון בהדרכת תכנות למתחילים (ובפרט בתחום פיתוח משחקים) אני מתעניין כל הזמן בכלים טובים עם ערך מוסף גם לפיתוח משחקים מהיר וגם ללמידה של תכנות על הדרך. לאחרונה החלטתי לפתוח קורס\חוג מקומי לנוער שילמד פיתוח משחקים לחסרי נסיון, או בעלי נסיון בסיסי בתכנות וזה הוביל אותי לבדוק באופן יותר מעמיק אילו כלים קיימים כרגע שעשויים לתמוך בקורס כזה. אחד הקריטריונים החשובים לדעתי בבחינת כלים כאלה היא עד כמה אפשרי ונוח ליצור באמצעותם משחקי HTML5 שאפשר בקלות לפרסם באתר עצמאי, או באתרי מפיצים, כי לשם אני מאמין שהתעשיה הולכת. לכן, קודם כל הלכתי וחיפשתי רשימת השוואה למנועי משחק שמאפשרים ליצור משחקי HTML5 והגעתי לרשימה הזאת. אפשר לראות כאן גם frameworks כמו Phaser, שמאפשרות בניית משחק ע"י תכנות בלבד וגם כלים כמו Construct 2 שלא מצריכות ידע בתכנות בכלל ונותנות ממשק גרפי עם אפשרויות בחירה והזנת פרמטרים מסוגים שונים על מנת להגיע לאותן תוצאות. מנסיוני יש 2 אסכולות של מפתחים: 1. כאלה שבאו מרקע של תכנות פרופר (מדעי המחשב) - מעדיפים לתכנת הכל באמצעות עורכי קוד למיניהם...

איך להתמצא בממשק של קונסטרקט 3 התוכנה המעולה לפיתוח משחקי מחשב

היי, הפעם אסביר איך להתמצא בממשק של קונסטרקט, איך מורכב המסך הראשי, מהם התפריטים העיקריים שבהם אני משתמש וגם כמה קיצורי מקלדת שימושיים. קודם כל אם אף פעם לא עבדתם עם Construct 3 – שווה להסתכל על מסך הפתיחה של התוכנה (מה שנקרא שם Start page ). בחלק העליון יש כפתורי פתיחת פרויקט חדש, או ישן, משמאל יש גישה לתבניות ופרויקטים לדוגמא, במרכז יש משחקים שלמים שאפשר להיכנס ולראות איך הם בנויים ולמטה חומרי הדרכה מסוגים שונים. בקיצור – כמעט כל מה שדרוש כדי להתחיל לעבוד עם התוכנה נמצא בהישג יד מתוך המסך הזה. משהו שחשוב לדעת לגבי שמירה ופתיחה של פרויקטים בקונסטרקט - ישנם 3 אפשרויות לשמירת פרויקט (וכנ"ל לפתיחה): 1.       CLOUD – הממשק של קונסטרקט מאפשר שמירה ישירות באחד מ-3 שירותי ענן – Dropbox, OneDrive, Google Drive . אם יש לכם חשבון באחד באלה – החיים שלכם יהפכו מאד קלים ופרודוקטיביים בעבודה עם קונסטרקט. תוכלו למעשה לפתוח את הפרויקט שלכם מכל מקום בכל זמן ולהמשיך לעבוד עליו. אני למשל מלמד תלמידים בכיתת מחשבים. בסיום השיעור הם שומרים את מה שעבדו ע...

איך לבנות פרוטוטייפ של משחק diamondDiggerSaga באמצעות Phaser ו-Typescript

אני אוהב את הבלוג של עמנואל פרונטו:  http://www.emanueleferonato.com/ במיוחד אני אוהב את הפורמט של בניית פרוטוטייפ של משחק ופרסום הקוד שלו. מאחר ובזמן האחרון אני עובד הרבה עם פייזר, באופן טבעי אני מתעניין בפוסטים שלו שעוסקים בפייזר ויש לו כבר די הרבה prototypes של משחקים שהוא כתב ב-Phaser. רק מה, הוא כותב ב-javascript וכל הקוד שלו כתוב בעמוד אחד ארוך. אז החלטתי לקחת את אחד מאבות הטיפוס שהוא כתב ולכתוב את הקוד מחדש בקלאסים של Typescript. זה יותר מאורגן ככה ויותר קל לעיכול לדעתי (גם אם יותר ארוך קצת). בסרטון למעלה אפשר לראות את התוצאה כפי שצילמתי אותה בפעולה - גם בטלפון וגם במחשב. מפתיע לראות כמה קל לכתוב את הקוד הזה, שמהווה בסיס לכל כך הרבה משחקים מוכרים וטובים. אז בואו נקפוץ ישר לקוד: אני מציג את הקוד באמצעות codepen רק מטעמי נוחות. אל תצפו לראות את זה עובד כאן, זה רק כדי להציג את הקוד ולאפשר להעתיק ממנו בקלות. יש טאבים של HTML, CSS, TypeScript. אפשר ללחוץ כדי לראות כל אחד מהם. ה-HTML מכיל את כל הקישורים לקבצי ה-javascript השונים (שנוצרים מהקימפול של ה-TypeScript), ה-C...