בואו ללמוד איך לצייר נקודה ב-JavaScript בדפדפן.. זה לא קשה טכנית, אלא רק למי שמפשפש, ולמי שלא מוכן לצייר נקודה באינטרנט - זה כמובן הישג שלם.
ישנן דרכים רבות לצייר נקודה, בואו נסתכל עליהן
באמצעות Unity/Godot/microStudio או כל אחד מאלפי בוני המשחקים.. כולם ייצרו קוד כלשהו בצורה כזו או אחרת שיהיה JavaScript או Webassembly, ועדיין יראו לנו את הנקודה.אנחנו לא מתעניינים בדרך הזו.לא באמת נבין מה קורה, השליטה בקוד תהיה מינימלית ולא קריא בקוד המקור, חוץ מזה שהיא ענקית.
הדרך הזו של הג'דיי קרובה אלינו ככל האפשר, כי.הקוד שלנו לא יהיה גדול וברור כמו היום, לא נפשט הרבה, לא נגדיל מאוד את הקוד שלנו עם ספריות.גם בקרת קוד תהיה נהדרת
זו כמובן דרכו של הג'דיי.הקוד הוא כמה שיותר מסובך, השליטה המקסימלית בדברים שכביכול אין צורך לשלוט בהם.קודי המקור הם המינימליים ביותר ועם הידע של golimy JavaScript, אנחנו יכולים פשוט ללכת בבטחה להשיג עבודה, כי.אנחנו צריכים אנשים כאלה.
אבל המשימה שלנו היא לא למצוא עבודה, אלא לצייר נקודה בצורה פשוטה וקלה.הווקטור שלנו הוא מהירות וגמישות.
בחרתי בספרייה
p5js לצייר נקודה.זה לא רק זה, כמובן, אם המשימה הייתה לצייר נקודה וזהו, כמובן, הכל היה צריך להיעשות ב-JavaScript חשוף, אבל אני עושה את זה בפרספקטיבה, .k.אז אתה ואני נעשה דברים אחרים שיראו מדהימים, ולשם כך אנחנו צריכים כלי טוב.אחד מהם הוא p5js.ב-golim JavaScript, עלינו ליצור קנבס כדי להגדיר את פונקציות האתחול והציור מחדש, גם ב-p5 זה נעשה, אבל בצורה מאוד תמציתית.
אבל קודם..
הגדרת סביבה מינימלית לפיתוח JavaScript
הורד
p5.min.js ולשמור אותו זה לצד זה.ככה
index.html
<html>
<head>
<script src="p5.min.js"></script>
<script src="sketch.js"></script>
</head>
<body style="margin: 0px;">
<main>
</main>
</body>
</html>
sketch.js
function setup() {
createCanvas(window.innerWidth, window.innerHeight);
}
function draw() {
background(0);
stroke('white');
strokeWeight(10);
point(window.innerWidth/2,window.innerHeight/2);
}
זה ייפתח בדפדפן שלך כך:
ובכן, HTML מובן, אבל איזה סוג של קוד JavaScript זה?
פונקציית ההתקנה היא אתחול, היא מבוצעת פעם אחת, בה אנו יוצרים קנבס, כלומר.אזור שבו נצייר נקודה.window.innerWidth, window.innerHeight
הוא הרוחב והגובה של המסך, כלומר.אנו מגדירים קנבס במסך מלא וכן, ל-HTML יש סגנון חשוב מאוד גם עבור זה
<body style="margin: 0px;">
אנחנו לא צריכים לאתחל שום דבר אחר, אנחנו רק צריכים לצייר נקודה.תראה את העיקרון כאן.. פונקציית הציור מבוצעת, למשל, 60 פעמים בשנייה, ו-60 פעמים בשנייה נצייר את הנקודה שלנו.. נראה שזה טיפשי, אנחנו רק צריכים לצייר נקודה וזהו זה, אבל בעתיד זה יהיה הבסיס לאנימציה כללית.
באופן כללי, הקוד לשרטוט נקודה הוא פשוט ביותר:
point(10,10)
וזה הכל!
עם זאת, הקוד שלנו מעט יותר גדול
background(0);
stroke('white');
strokeWeight(10);
point(window.innerWidth/2,window.innerHeight/2);
רקע שחור
כוכב לבן
עובי נקודה 10
ואנחנו מציירים אותו במרכז האנכי והאופקי.
ובכן.. ציירנו נקודה על הקנבס, הכל כמו שצריך, אבל יכולנו אפילו לצייר את זה ב-HTML טהור בלי שום JavaScript.. איך זה ייראה?
זה עושה את זה אלמנטרי ואפילו יותר קל, אבל העקרונות שונים לגמרי, הנה הקוד הסופי לציור ריבוע במרכז המסך
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body style="background-color: black;">
<div style="position: fixed; top: 50%; left: 50%; background-color: white; width: 10px; height: 10px;"></div>
</body>
</html>
התוצאה כמעט זהה
כן, די קל לצייר משהו במרכז ב-HTML, אבל כדי להוסיף אנימציות, ועוד יותר אינטראקטיביות שפויות, תצטרכו לחשוב על פי עקרונות ה-CSS.למרות שזו משימה די מעניינת.רק דבר אלמנטרי אחד הורג את כל זה, אין מספרים אקראיים ב-CSS, זה יהרוג את כל הניסיונות שלנו בעתיד, וזו הסיבה שאני אתן פחות עדיפות לכיוון הזה.
אם אני מדמיין שאני רוצה ליצור שמים זרועי כוכבים ב-CSS חשוף, אז הכל לא יסתדר לי, כיכוכבים צריכים להופיע במיקומים אקראיים, ואם יש להם קואורדינטות שנוצרו מראש, זה לא יהיה כל כך יפה ולא כל כך פשוט, כי אתה יכול לכתוב מחולל מספרים אקראיים ב-CSS, אבל קוד כזה ייראה מכוער לחלוטין, בלתי קריא וקשה לביצוע מבינה!