למבוא – HTML5 למפתחי ActionScript3
בשיעור הזה נראה כיצד ליצור את הבמה ולהוסיף לה את האלמנט הגרפי הבסיסי ביותר ה Shape. נשתמש בפקודות ציור בסיסיות בכדי לצייר על ה Shape. בנוסף ניצור אנימציה בסיסית תוך שימוש בפונקציה onEnterFrame.
נסתכל על הדוגמא הבאה: לחץ כאן בכדי להריץ את הדוגמא
<script type="text/javascript" src="DisplayObject/Sprite.js"></script>
<script type="text/javascript" src="DisplayObject/ImageLoader.js"></script>
<script type="text/javascript" src="InitStage.js"></script>
<script type="text/javascript"><br />
CreateStage(700,500,45);</p>
<p> var shape1 = new DisplayObject.Shape();<br />
shape1.x = 100;<br />
shape1.y = 200;<br />
stage.addChild(shape1);<br />
shape1.drawShape = function()<br />
{<br />
graphics.lineWidth=7;<br />
graphics.lineJoin= "round";<br />
graphics.beginPath();<br />
graphics.rect(-10,-100,20,200)<br />
graphics.stroke();<br />
graphics.closePath();<br />
}<br />
function onEnterFrame()<br />
{<br />
shape1.x+=1;<br />
if(shape1.x > mCanvas.width)<br />
shape1.x = 1;<br />
shape1.rotation+=0.005;<br />
}<br />
</script>
אם הצלחתי ביצירת הספרייה. אזי כל מפתח AS3, גם אם אינו מכיר JS, יכול להבין את הקוד הזה.
בכל זאת נראה מה היה לנו כאן:
קטע הקוד הבא טוען את קבצי הסיפריה.
<script type="text/javascript" src="DisplayObject/Sprite.js"></script>
<script type="text/javascript" src="DisplayObject/ImageLoader.js"></script>
<script type="text/javascript" src="InitStage.js"></script>
ועכשיו לקוד עצמו:
השורה הבאה יוצרת את הבמה (Stage), למעשה יוצרת Canvas בגודל של 700 על 500 וקובעת מהירות ריפרוש של 45 פריימים לשנייה (FPS)
בקטע הקוד הבא אנחנו יוצרים אובייקט מסוג Shape, קובעים לו מיקום של 100 על 200 ומוסיפים אותו לבמה.
הפונקציה drawShape תיקרא למעשה בכל פעם שה Shape יצוייר למסך. כלומר זו פונקציה וירטואלית במחלקה Shape שכל מי אשר מממש Shape אמור לדרוס אותה. במקרה הנ"ל אנו מציירים מלבן. לא אכנס כאן לפקודות ציור עצמן, יש מספיק מקומות ברשת שמלמדות אותן.
{
graphics.lineWidth=7;
graphics.lineJoin= "round";
graphics.beginPath();
graphics.rect(-10,-100,20,200)
graphics.stroke();
graphics.closePath();
}
למעשה כל מה שנשאר זה להוסיף פונקציית onEnterFrame. בדוגמא הזו אני מסובב את הצורה ומזיז אותה על ציר ה X
{
shape1.x+=1;
if(shape1.x > mCanvas.width)
shape1.x = 1;
shape1.rotation+=0.005;
}