גרסה 1.2 של השפה וסביבת הפיתוח SceneMax3D עלתה היום לאויר ומביאה איתה יכולות חדשות ומרתקות:
שינויים בשפה
הפקודות do-end do ניתנות כעת להחלפה בסוגריים מסולסלים { } בדומה לרוב שפות הפיתוח הפופולאריות כגון Java, C#, C, Java Script וכד’
מילת המפתח function הפכה לאופציונלית.
בפקודת if-then מילת המפתח then הפכה לאופציונלית כמו גם הסוגריים המעוגלים לדוגמא במקום:
if (ship.x==10) then do
ניתן לכתוב:
if ship.x==10 do
בדיקת ray casting תומכת כעת בלחיצת עכבר לדוגמא:
s is a sinbad s belongs to the test group when mouse left is pressed do if test.ray check then { s.turn left 45 in 1 second } end do
שינויים במנוע הגרפי
רזולוצית הקנבס שונתה ל 1024×768
נוספה יכולת לגופים תלת מימדיים להיות סטטיים ובכך להפוך להיות קרקע לגופים פיזיקלים אחרים במשחק לדוגמא המנסרה הבאה מוגדרת כגוף סטטי – שימוש במאפיין static=true:
b is a box having static=true and size=(100,0.5,100) and material="Pond"
וכעת אפשר פשוט להטיל עליה גופים שונים והיא תהווה עבורם קרקע מוצקה לדוגמא:
h is a helicopter having pos=(0,30,0) and mass=50 h.Main loop async camera.chase h b is a box having static=true and size=(100,0.5,100) and material="Pond"
בתכנית זאת הצגנו הליקופטר והטלנו אותו מגובה 30 מטרים אל המנסרה הסטטית שמתחתיו.
נוסף סוג חדש של מודל תלת מימדי – רכב – Vehicle.
ניתן לשנות מאפיינים רבים של ה Vehicle כגון: עומס קפיץ, שיכוך והחזרה של הבולמים, חיכוך הצמיגים בקרקע, אורך הבולמים, מידת הקשיחות שלהם וכד’
המערכת מגיעה עם שלושה רכבים מובנים:
hatchback, dune_buggy, pickup_truck
לדוגמא בתכנית הבאה נשים את המשאית על גבי המנסרה:
buggy is a dune_buggy vehicle camera.chase buggy b is a box having static=true and size=(100,0.5,100) and material="Pond"
בברירת המחדל ברגע שטענו את הרכב לסצנת המשחק הוא מוכן מיידית לשימוש ע”י מספר מקשים: מקש Y להתנעה, מקש W לתנועה קדימה, E לתנועה אחורה, S לעצירה, A לפניה שמאלה ו D לפניה ימינה וכן H לצפירה.
ניתן לשנות את מקשי ההפעלה של הרכב. על כך בפוסט נפרד.
משאבים
נוספו שני מסלולי מירוץ לטובת לימוד כיצד לפתח משחקי מיכוניות מירוץ. מסלול track1 ומסלול track2
ניתן לטעון אותם לסצנה כמו כל מודל תלת מימדי אחר לדוגמא:
c is a track2 having static=true and scale=50
שימו לב שיש לטעון את המסלולים כסטטיים static=true על מנת שיהוו קרקע יציבה למכוניות.
לדוגמא התכנית הבאה טוענת מסלול מירוץ ושמה עליו מכונית מסוג hatchback:
t is a track2 having static=true and scale=50 car is a hatchback vehicle having rotate=(0,90,0) and pos=(-12,2,7) camera.chase car having trailing=true and horizontal rotation = 185
למצלמת הרדיפה chase camera נוספה יכולת לעקוב אחר האובייקט מאחור וזאת ע”י הוספת המאפיין trailing=true כפי שראינו בדוגמא שלמעלה:
camera.chase car having trailing=true
בפקודה זאת ביקשנו מהמצלמה לעקוב אחר המכונית מאחור.
בנוסף, נוספו למערכת עוד שני משאבים מובנים – helicopter ו- helicopter2
תשתיות
בוטלה התלות ב Java 1.7.8 וכעת סביבת הפיתוח תעבוד עם כל גרסת Java שמותקנת על גבי המחשבים.
הוכנסה ספריית: jme-vehicles שנמצאת ב: https://github.com/jayfella/jme-vehicles