برنامه پست قبل را من مقداری ساده ترش کردم...
و به جای ساعت ، یک ماشین درست کردم که با مقدار ثانیه راه می رود.
در لینک بالا ، ببینید ماشین من راه می رود...آرام آرام می رود به راست.
ماشین من ۳ تا مربع آبی دارد و دو تا دایره سیاه.
JavaScript:
<html>
<head>
<title>my car</title>
</head>
<body>
<p>hi</p>
<svg width="800" height="800" viewBox="-100 -100 200 200">
<g id="car">
<rect x="5" y="5" width="5" height="5" fill="blue" />
<rect x="7" y="10" width="5" height="5" fill="blue" />
<rect x="2" y="10" width="5" height="5" fill="blue" />
<circle cx="5" cy="17" r="2" fill="black" />
<circle cx="10" cy="17" r="2" fill="black" />
</g>
</svg>
<script>
const car = document.getElementById("car");
function animate() {
const date = new Date();
const second = date.getSeconds() + date.getMilliseconds() / 1000;
car.setAttribute("transform", `translate(${ second})`);
requestAnimationFrame(animate);
}
requestAnimationFrame(animate);
</script>
</body>
</html>
دیگه برنامه css نداره ، پس svg اون ساده تره...
یک شی داریم که از ۵ تا شکل تشکیل شده ، همون ۳ مربع و ۲ دایره..
در کدهای جاوااسکریپت هم فقط با یک شی کار کرده... فکر کنم این طوری ساده تر و قابل فهم تر باشه.
یک نیمچه بازی هم ساخته شد.
شما می توانید علاوه بر این ۵ شکل ، چیزهای دیگری به ماشین بیافزایید تا زیباتر شود..
همچنین می توانید ماشین های دیگری بسازید.
حتما لازم نیست با زمان ماشین حرکت کند. کمی که جاوا اسکریپت یاد بگیرید می توانید به جای ثانیه از چیزهای دیگر استفاده کنید. مثلا یک حلقه بسازید.
به جای چرخش در اون ساعت ، من جابجایی را استفاده کردم. یعنی translate.
کد بالا را می توانید در فایلی با پسوند html ذخیره کنید و با بروسر خود باز کنید. اجرا میشه. و نیاز به سرور نداره.