שילוב אנימציה באתר תזוזת אלמנט לפי טיימר ולוח צירים

Similar documents
טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

Practical Session No. 13 Amortized Analysis, Union/Find

מבוא לתכנות ב- JAVA תרגול 7

המבנה הגאומטרי של מידה

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ


SPSS 10.0 FOR WINDOWS

ASP.Net MVC + Entity Framework Code First.

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

משימה מסכמת במדעי המחשב - מודול צד לקוח תשע"ז,2017

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

מושגים בסיסיים תלמידים והורים יקרים,

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

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

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

A R E Y O U R E A L L Y A W A K E?

חטיבת המינרלים החיוניים תתמקד בשוקי האגרו וחטיבת הפתרונות המיוחדים תשמש כחטיבה התעשייתית; כיל דשנים מיוחדים תשולב בחטיבת המינרלים החיוניים;

בחינת מפמ ר במדעי המחשב לכיתה ח מודול צד לקוח

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

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

מ ש ר ד ה ח י נ ו ך ה פ ד ג ו ג י ת א ש כ ו ל מ ד ע י ם על ה ו ר א ת ה מ ת מ ט י ק ה מחוון למבחן מפמ"ר לכיתה ט', רמה מצומצמת , תשע"ב טור א'

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

Checkers Cheaters Eliran Moyal & Moti Berger

State Pattern מימוש מכונת מצבים (FSM) מבוא בעיה תמיכה ועדכונים עדכון מס' 48 מאי 2002

Genetic Tests for Partners of CF patients

Name Page 1 of 5. דף ז. This week s bechina begins with the fifth wide line at the top of

Structural Vs. Nominal Typing

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

And now Israel, what does Hashem your G-d ask from you but to revere Hashem your G-d

מבוא למחשב בשפת Matlab

לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "סטטיסטיקה והסתברות" בשאלון 802 שבאתר

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

The Connection between Town Planning, Public Taking (Appropriation) and Land Appraisal

NATIONAL COUNCIL OF YOUNG ISRAEL. Shavuot Nation JEWISH EDITION. Compiled by Gabi Weinberg Teen Program Director

Depth-First Search DFS

סוטמה ףא ןוויכ תיתימא ריוא תוריהמ סוטמה ביתנ תיעקרק תוריהמ

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך

מדריך למשתמש בשירות. yes MultiRoom

פרוטוקול HTTP הפונקציה header שליחת מידע דחוס. עבודה עם cookies Haim Michael. All Rights Reserved.

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

גירסה C++ Tutorial Nir Adar עמוד 1

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

ל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"

SEEDS OF GREATNESS MINING THROUGH THE STORY OF MOSHE S CHILDHOOD

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

תורשכ ירפס לכ ץבוק " ב י קלח יללכ רעש

מבנה ההרצאה חלק א' 1 (הסבר על הסימולטור.Torcs 2 (הסבר על תחרות EvoStar 2010 ביחד עם הדגמה של.GA חלק ב' הסבר על המאמר

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

Visual C# Express Edition 2005

מדריך לניהול VPS טריפל סי מחשוב ענן בע"מ.

שאלון ו' הוראות לנבחן

הנדסה-לאחור: שרשרת העלייה של Windows 7 חלק שני - VBR

לאחר מכן נוכל לכתוב תוכניות שכוללות אלגוריתמים

מערכים Haim Michael. All Rights Reserved.

מנגנון 5522 מידע על המנגנון מצב תצוגת שעה

מבחן בגרפיקה ממוחשבת תש"ע סמסטר א' מועד א'

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

שאלון ד' הוראות לנבחן

מסנן סולארי: הוראות שימוש

מדריך למשתמש התקנה עצמית

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו

חוברת מתכונים לפלטת בראוניז במולטיקייק מבית icake

המצפן נכתב ע"י: עומר גרנק נערך ע"י: צוות VFS (לשימוש וירטואלי בלבד) קורס ראייה - CVFR

זה. Nir Adar

A Long Line for a Shorter Wait at the Supermarket

אנגלית (MODULE E) בהצלחה!

מדריך למשתמש התקנה עצמית

Patents Basics. Yehuda Binder. (For copies contact:

הבינגמה הדובע תביבסב תונכתל ריהמ ךירדמ

קורס תוכנת מטלב ויישומיה שיעור מס' 10: תכנות ממשקי משתמש

מבוא למחשב בשפת פייתון

מיהו המורה הנושר? מאפיינים דמוגרפיים,תעסוקתיים ומוסדיים של הנשירה מהוראה

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

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

sharing food intro price & extra drinks * ניתן להזמין מנות כשרות בתאום מראש for good memories

B E N D, S T R A I G H T E N, B A L A N C E

FLL Programming 101 NXT-G

לשרטוט חשמלי בתוכנת OrCad-Capture

THINKING ABOUT REST THE ORIGIN OF SHABBOS

מדור מערכות מידע פיננסיות

SHABBOS, 10 TAMMUZ, 5778

סיכומים למבחן בקומפילציה

שאלון ו' הוראות לנבחן

דוגמה 1: הדרקון המשתנה שינוי גודל דמות

1. מספרים מרוכבים צורות אלגברית ווקטורית של מספרים מרוכבים. הוא זוג סדור. הגדרה 1.1. מספר מרוכב z של מספרים ממשיים. ו- y

קאז ןבואר 0202 רבמצד

מבוא לרשתות - תרגול מס' 11 Transparent Bridges

RAUMPLAN FOR WINDOWS עמוד הקדמה 2 פרק 1: הפעלת התוכנה ומסך העבודה שלה 3 פרק 3: בניית מטבח פשוט. 14 פרק 4: הוספת יחידות חדשות לתכנון 17

בוחן בתכנות בשפת C בצלחה

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

(MODULE E) ב ה צ ל ח ה!

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

HTML5 םירתא תיינבל ךירדמה אבה רודה ושור תינוי

CML כנס שנתי של מודעות ל- CML 4-6 לאוקטובר 2018, מלון רמדה, חדרה

Transcription:

1 שילוב אנימציה באתר תזוזת אלמנט לפי טיימר ולוח צירים - BouncingBall כדור מקפץ בתוך מסגרת - אנימציה פשוטה וחישובי התנגשות בקיר <div id="wrapper" > <canvas id="canvasframe" width="400" height="300"></canvas> index.htm הגדרת מזהה לקנבאס, רוחב הקנבאס וכן אורך הקנבאס <script> init(); קריאה לפונקציה מקובץ Bounce.js </script> --------------------------------------------------------- StyleSheet.css body הצבע הטורקיז המוגדר כאן יהיה צבע דף ה- web הצבע הצהוב המוגדר כאן יהיה צבע הקנבאס וכן הקנבאס ימוקם באמצע דף ה- web background-color:aqua; #wrapper background-color:yellow; text-align:center; ------------------------------------------------------ bounce.js הצהרה על משתנים גלובליים, משתנים אלו יהי מוכרים בכל הפונקציות מיקום התחלתי של הכדור, בהמשך משתנים אלו יקבלו ערכים כתוצאה מחישובים בפונקציות כיוון תזוזת הכדור. חיובי ימינה, שלילי שמאלה שימוש במזהה הקנבאס טיימר - קריאה לפונקציה draw כל 11 מילישניות var canvasobj; var contextobj; var circlecenterx = 200; var circlecentery = 150; var dx = 1; var dy = 1; var radius=10; var WIDTH = 400; var HEIGHT = 300; function init() canvasobj = document.getelementbyid("canvasframe"); contextobj = canvasobj.getcontext("2d"); setinterval(draw, 10); הגדרה של אורך רוחב לפי מימדי הקנבאס, אנו נצייר מלבנים בגודל זה בהמשך כדי ל"מחוק" את מה שצוייר קודם ציור כדור לפי המיקום החדש שחושב כדי לדמות תזוזה, למעשה כל פעם יצוייר כדור נוסף שכבה על גבי שכבה. צבע הכדור יהיה לפי מה שהוגדר לפני הקריאה לפונקציה זו. function drawcircle() contextobj.arc(circlecenterx, circlecentery, radius, 0, 2 * Math.PI, false); ציור מלבן בגודל ברוחב ובמיקום של הקבנבאס, כד "למחוק" את מה שציור קודם למעשה כל פעם יצוייר מלבן נוסף שכבה על גבי שכבה. צבע המלבן יהיה לפי מה שהוגדר לפני הקריאה לפונקציה זו. function drawrect() contextobj.rect(0, 0, WIDTH,HEIGHT);

2 function draw() contextobj.fillstyle = "#FAF7F8"; drawrect(); contextobj.fillstyle = "#444444"; drawcircle(); קביעת צבע. קריאה לפונקציה. כאשר קובעים צבע ואז שולחים הפונקציה כברירת מחדל תצייר בצבע זה. למעשה מציירים מלבן בגודל ובצבע הקנבאס ועליו את העיגול )כדור( לפי הנתונים החדשים שחושבו, וכך זה נראה מעין תזוזה. if (circlecenterx + radius >= WIDTH) dx = -dx; if (circlecenterx - radius <= 0) dx = -dx; if (circlecentery + radius >= HEIGHT) dy = -dy; if (circlecentery - radius <= 0) dy = -dy; circlecenterx = circlecenterx + dx; circlecentery = circlecentery + dy; במידה ויש חריגה מגבולות הקנבאס, כיוון התנועה ישתנה הוספת 1 לציר X וכן הוספת 1 לציר y במידה ויש חריגה מהגבולות ישתנה הכיוון ע"י dx המשתנים הם גלובליים לכל התוכנית ולכן השינוי כאן משפיע על כל הפונקציות

3 שילוב אנימציה באתר אירוע לחיצת עכבר בקנבאס הודעה מוקפצת עם קורדינטות Y,X לפי מיקום עכבר בקנבאס onclickcoordinates index.htm <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <link href="css/stylesheet.css" rel="stylesheet" type="text/css" /> <script src="js/sod.js" type="text/javascript"></script> </head> <h1>onclickcordiates</h1> <div onclick="q()"> כל פעם שתהיה לחיצת עכבר, תתבצע קריאה לפונקציה q(event) <canvas id="canvasframe" width="400" height="400" ></canvas> </html> --------------------------------------------------------- sod.js function q(event) event = event window.event; var ctx = document.getelementbyid('canvasframe'); var sod1 = event.pagex - ctx.offsetleft; var sod2 = event.pagey - ctx.offsettop; sod1 sod2 ערך קורדינטת X ערך קורדינטת Y יכנס למשתנה יכנס למשתנה alert("sod1="+sod1+",sod2="+sod2); הודעה מוקפצת עם ערכי Y,X --------------------------------------------------------- StyleSheet.css #canvasframe background-color:#f418f1; רקע הקנבאס יקבע לפי קובץ זה

4 - תזוזת מלבן לפי מעבר העכבר שילוב אנימציה באתר תזוזת אלמנט לפי מעבר העכבר <div> <canvas id="canvasframe" width="400" height="300"></canvas> <script> var x = 50; var y = 50; var WIDTH = 400; var HEIGHT = 300; var color = 'black'; canvasobj = document.getelementbyid('canvasframe'); contextobj = canvasobj.getcontext('2d'); DrawRect(0, 0, WIDTH, HEIGHT, 'white'); DrawRect(x, y, 50, 40, 'black'); movemouse index.htm הגדרת מזהה לקנבאס, רוחב הקנבאס וכן אורך הקנבאס מיקום התחלתי של הכדור, בהמשך משתנים אלו יקבלו ערכים כתוצאה מחישובים בפונקציות הגדרה של אורך רוחב לפי מימדי הקנבאס, אנו נצייר מלבנים בגודל זה בהמשך כדי ל"מחוק" את מה שצוייר קודם משתנה המכיל צבע, נשתמש בו בהמשך לקביעת צבע הכדור document.onmousemove = HandleMouseMove; תמיד - כאשר העכבר יזוז יקרא לפונקציה HandleMouseMove(event) function HandleMouseMove(event) ev=event y = ev.pagey; x = ev.pagex; sod1 sod2 ערך קורדינטת X ערך קורדינטת Y יכנס למשתנה יכנס למשתנה DrawRect(0, 0, WIDTH, HEIGHT, 'white'); DrawRect(x, y, 50, 40, color); function DrawRect(x,y,w,h,c) contextobj.rect(x, y, w, h); contextobj.fillstyle = c; contextobj.linewidth = 7; contextobj.strokestyle = c; contextobj.stroke(); </SCRIPT> </html> --------------------------------------------------------- body background-color:green; canvas background-color:white; למעשה מציירים מלבן בגודל ובצבע הקנבאס ועליו מלבן שחור לפי הנתונים של "מעבר העכבר" החדשים שחושבו, וכך זה ציור שכבות המדמה תזוזה פונקציה המקבלת 4 פרמטרים ומציירת מלבן בהתאם. X מיקום תחילת המלבן, לפי קורדינת X זו - Y מיקום תחילת המלבן, לפי קורדינת Y זו - W רוחב המלבן h אורך המלבן - C צבע המלבן StyleSheet.css

5 ButtonAsciiCode שילוב אנימציה באתר תזוזת אלמנט לפי מקשי חצים שלב א' הודעה מוקפצת עם ערך אסקי של המקש שנלחץ <div> <canvas id="canvasframe" width="400" height="300"></canvas> <SCRIPT> canvasobj = document.getelementbyid('canvasframe'); contextobj = canvasobj.getcontext('2d'); הגדרת מזהה לקנבאס, רוחב הקנבאס וכן אורך הקנבאס document.onkeyup = DocOnkeyUpHandler; function DocOnkeyUpHandler() var e = event.keycode; alert(e); תמיד - כאשר נלחץ מקש יקרא לפונקציה DocOnkeyUpHandler() הודעה מוקפצת עם קוד אסקי של המקש שנלחץ </SCRIPT>

6 שילוב אנימציה באתר תזוזת אלמנט לפי מקשי חצים שלב ב' movebutton מלבן שזז לפי מקשי חצים ימין-שמאל-למעלה-למטה <div> <canvas id="canvasframe" width="400" height="300"></canvas> הגדרת מזהה לקנבאס, רוחב הקנבאס וכן אורך הקנבאס <SCRIPT> var x = 50; var y = 50; var WIDTH = 400; var HEIGHT = 300; מיקום התחלתי של מלבן, בהמשך משתנים אלו יקבלו ערכים כתוצאה מחישובים בפונקציות הגדרה של אורך רוחב לפי מימדי הקנבאס, אנו נצייר מלבנים בגודל זה בהמשך כדי ל"מחוק" את מה שצוייר קודם ולדמות תזוזה canvasobj = document.getelementbyid('canvasframe'); contextobj = canvasobj.getcontext('2d'); drewrect(0, 0, WIDTH, HEIGHT, 'white'); drewrect(x, y, 50, 40, 'black'); document.onkeyup = doconkeyuphandler; במקלדת טיפול// doconkeyuphandler() function var e = event.keycode; //alert(e); ציור ראשוני של מלבן לפי מימדי הקנבאס ועליו ציור של ריבוע שחור תמיד כשמקש ישוחרר למעלה יקרא לפונקציה למשתנה e יכנס ערך אסקי של המקש שנלחץ לפי ערך זה מתקדמים ב- 11 לכיוון המתאים. if (e == 40) y += 10; if (e == 38) y -= 10; if (e == 37) x -= 10; if (e == 39) x += 10; drewrect(0, 0, WIDTH, HEIGHT, 'white'); drewrect(x, y, 50, 40, 'black'); function drewrect(x,y,w,h,c) contextobj.rect(x, y, w, h); contextobj.fillstyle = c; contextobj.linewidth = 7; contextobj.strokestyle = c; contextobj.stroke(); הדמיית תזוזה ציור בשכבות ציור של מלבן לפי מימדי הקנבאס ועליו ציור של ריבוע שחור לפי חישובי x,y מקשי חיצים פונקציה המקבלת 4 פרמטרים ומציירת מלבן בהתאם. X מיקום תחילת המלבן, לפי קורדינת X זו - Y מיקום תחילת המלבן, לפי קורדינת Y זו - W רוחב המלבן h אורך המלבן - C צבע המלבן </SCRIPT>

7 - beginpath - closepath כאשר מבצעים 2 ביצועים של אלמנטים ללא beginpath וללא closepath canvas חושב שמדובר בהמשך של אותו אלמנט, ומשרטט זאת כהמשך. למעשה ה- אם מעוניינים ב- 2 ביצועים שונים של אותו אלמנט, יש לתת הוראה שמסבירה שסיימנו אלמנט קודם closepath וכן שהתחלנו אחד חדש beginpath כדוגמא, ציירו 2 עיגולים ללא אנימציה בקורדינטות שונות. ציור 2-1 עיגולים עם ההוראות beginpath וכן closepath עבור כל אלמנט ציור 2-2 עיגולים ללא ההוראות beginpath וכן closepath התוצאה שונה לגמרי, במידה ולא פותחים-סוגרים אלמנט, יצוייר המשך של אותה הצורה, ולכן באנימציה נקפיד לפתוח ולסגור כל אלמנט. לסיכום, באנימציה, בשונה מציור חד פעמי השיטה beginpath וכן closepath הינם הכרחיות.

8 הסבר פרוייקט moveroundframe -------------------------------------------------------------- - Index.html <div id="wrapper" > <canvas id="canvasframe" width="400" height="300"></canvas> <script> start(); </script> -------------------------------------------------------------- - moveroundframe.js var canvasobj;// = Canvas.vsGet(document.getElementById("canvasFrame")); ; var contextobj; var circlecenterx = 10; var circlecentery = 10; var dx = 1; var dy = 1; var radius=10; var WIDTH = 400; var HEIGHT = 300; var delta = 2; function start() alert("start"); dx = delta; dy = 0; canvasobj = document.getelementbyid("canvasframe"); contextobj = canvasobj.getcontext("2d"); setinterval(draw, 10); function drawcircle() contextobj.arc(circlecenterx, circlecentery, radius, 0, 2 * Math.PI, false); function drawrect() contextobj.rect(0, 0, WIDTH,HEIGHT); function clearcanvas() contextobj.clearrect(circlecenterx, circlecentery, WIDTH, HEIGHT);

9 function draw() contextobj.fillstyle = "red"; drawrect(); contextobj.fillstyle = "green"; drawcircle(); פינה ימנית עליונה// if ((circlecenterx + radius >= WIDTH )&& (circlecentery - radius<=0) ) dx = 0; dy = delta; פינה ימנית תחתונה// if ((circlecentery + radius >= HEIGHT) && (circlecenterx + radius >= WIDTH)) dy = 0; dx = -delta; פינה שמאלית תחתונה// if ((circlecenterx - radius <= 0 ) && (circlecentery + radius >= HEIGHT )) dx = 0; dy = -delta; פינה שמאלית עליונה // if ((circlecentery - radius <= 0 ) && (circlecenterx - radius <= 0 ) ) dy = 0; dx=delta; circlecenterx = circlecenterx + dx; circlecentery = circlecentery + dy; התחלה +dx,0 0, dy 0,-dy -dx,0

11 הסבר פרוייקט catchtheclown -------------------------------------------------------------- - Index.html <h1>catchtheclown</h1> <div> <canvas id="canvasframe" width="400" height="400" ></canvas> <script> start(); </script> -------------------------------------------------------------- - catchtheclown.js var WIDTH = 400; var HEIGHT = 400; var clownwidh = 60; var clownheight = 60; var canvascolor = "#F418F1"; var clowncolor = "blue"; var x1=100; var y1=50; var x2=300; var y2 = 200; var canvasobj; var contextobj; document.onmousedown = q; function start() canvasobj = document.getelementbyid("canvasframe"); contextobj = canvasobj.getcontext("2d"); drawrect(x1, y1, clownwidh, clownheight, clowncolor); offset מחזיר היסט בין הקנבאס לתחילת המסך בפיקסלים - pagex/y קורדינטות מוחלטות של לחיצת עכבר ביחס לשטח המסך ההפרש ביניהם נותן את קורדינטות מיקום הלחיצה ביחס למשטח function q(event) event = event window.event; var xm = event.pagex - canvasobj.offsetleft; var ym = event.pagey - canvasobj.offsettop; if ((xm <= (x1 + clownwidh) && xm >= x1) && (ym >= y1 && ym <= (y1 + clownheight))) a = x2; בדיקה אם אנו בנקודה - x1,y1 אם כן נעבור ל- x2,y2

11 b = y2; clowncolor = 'green' else if ((xm <= (x2 + clownwidh) && xm >= x2) && (ym >= y2 && ym <= (y2 + clownheight))) a = x1; x2,y2 b = y1; clowncolor = 'yellow' else a = x1; b = y1; alert('you should press inside the box!') clearcanvas(); drawrect(a, b, clownwidh, clownheight, clowncolor); function clearcanvas() drawrect(0, 0, WIDTH, HEIGHT, canvascolor); function drawrect(x, y, w, h, color) contextobj.fillstyle = color; contextobj.rect(x, y, w, h); contextobj.stroke(); בדיקה אם אנו בנקודה - x1,y1 אם כן נעבור ל- בדיקה אם אנו לוחצים מחוץ לליצן