פורסם 2012 בנובמבר 713 שנים אהלן, אני יוצר משחק סנייק פשוט ויש לי בעיה קטנה שאני לא יודע איך לפתור, הסנייק שלי מורכב מ"קוביות" (תמונה מגודל 10px), כדי שהסנייק יזוז בצורה חלקה אני מזיז את הקובייה הראשונה רק ב 1px כל פעם (עושה לה setBounds) ואז עובר בלולאה על שאר ה"קוביות" ונותן להם את הקורדינטה של הקובייה שכבר התקדמה קדימה (setLocation). מכאן נוצרת בעיה, כי הרי התזוזה היא של 1px אבל הקובייה היא 10px אז כל הקוביות מתכווצות יחד ולא מופרדות. אני מעוניין שכל הסנייק יזוז בייחד רק 1px לפני כל sleep, מה עלי לעשות? (ניסיתי כבר כל מיני דרכים אבל אז נוצרות בעיות אחרות, אשמח לפתרון יצירתי ). תודה.
פורסם 2012 בנובמבר 713 שנים מומלץ שתאמר גם באיזו שפה אתה כותב (ותוסיף את זה לכותרת).למה להזיז את הקוביה הראשונה באמצעות setBounds ולא באמצעות setLocation גם כן?חוץ מזה לא ממש הבנתי מה הבעיה בדיוק... למה הקוביות מתכווצות? (או שהתכוונת שהן מתקבצות?)
פורסם 2012 בנובמבר 713 שנים מחבר היי,דבר ראשון אני כותב בשפה java,הקובייה הראשונה זזה פיקסל אחד קדימה, הרעיון הוא שהקובייה הבאה אחריה תעקוב גם כן פיקסל אחד,אך אם הקובייה השנייה עוברת למקום הקודם של הקובייה הראשונה זזנו 10 פיקסלים (כי הרי הקובייה הראשונה זזה רק פיקסל אחד ממקומה הקודם).איך ניתן לעשות כך שכל הקוביות יעקבו רק פיקסל אחד לקובייה הקודמת להם?תודה.
פורסם 2012 בנובמבר 713 שנים אוקי, עכשיו זה יותר ברור. אתה בעצם צריך לדאוג שכל קוביה תזוז רק פיקסל אחד, והבעיה היא כמובן לדעת באיזה כיוון הקוביה צריכה לזוז.אני אישית יכול לחשוב על כמה דרכים לעשות את זה...נניח שנייה לשם הנוחות שהמרחק בין שתי קוביות הוא בדיוק 10.אפשר שכל קוביה תזכור את הכיוון שלה, ואז כל 10 צעדים כל קוביה צריכה להעתיק את הכיוון של הקוביה שבאה לפניה (והקוביה הראשונה משנה את הכיוון שלה בהתאם למה שהמשתמש לחץ, כמובן).אופציה שנייה היא שהרי כל קוביה צריכה להיות במיקום שהקוביה שלפניה הייתה בדיוק לפני 10 פריימים, ככה שאתה יכול פשוט לזכור את כל 10 המיקומים האחרונים של כל הקוביות (באמצעות תור מחוכם).
פורסם 2012 בנובמבר 713 שנים מחבר אני מתייחס עכשיו לאופציה הראשונה שהצעת,איך אני יכול לזכור את הכיוון של כל קובייה, הרי רק הקובייה הראשונה היא זאת שמשנה כיוון וכל שאר הקוביות "עוקבות" אחריה.למשל הקובייה הראשונה משנה כיוון מימין למעלה אז בצעד הבא הקובייה שעוקבת לה גם כן צריכה לשנות כיוון.
פורסם 2012 בנובמבר 713 שנים אתה יכול לזכור מה שבא לך, פשוט תשמור את המידע הזה איפשהו (המחלקה שמחזיקה את הכיוון של הקוביה הראשונה תחזיק את הכיוון של שאר הקוביות).
פורסם 2012 בנובמבר 713 שנים מחבר שוב.. איך?הרי רק הקובייה הראשונה משנה מיקום, כל השאר עוקבות והכיוון שלהן משתנה לפי הקובייה הראשונה.
פורסם 2012 בנובמבר 713 שנים כי אז הן יזוזו בקפיצות. המטרה היא שכל קוביה תזוז כל פעם רק בפיקסל אחד, בשביל תנועה חלקה.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.