గేమ్ రోటేషన్
- 上一页 గేమ్ బాంప్
- 下一页 గేమ్ మొబిలిటీ
ఎరుపు కాంపోనెంట్ చక్రాలు చేయగలదు:
చక్రాలు వండలు
ఈ శిక్షణలో మొదటి భాగంలో, ఎరుపు కాంపోనెంట్ కాంపోనెంట్ అందుబాటులో ఉంది కానీ చక్రాలు చేయడానికి కాదు చక్రాలు చేయడానికి చేయబడింది.
కాంపోనెంట్ ను చక్రాలు చేయడానికి, మామూలు గణనా పద్ధతిని మార్చాలి.
కాంపాస్సు అబ్జెక్ట్ మాత్రమే ప్రత్యక్షంగా చక్రాలు ఉంటుంది పద్ధతి:

మీరు కాంపాస్సుపైన మరెల్లా ప్రతి కాంపోనెంట్ కూడా చక్రాలు ఉంటుంది, కానీ కేవలం ప్రత్యేక కాంపోనెంట్ కాదు.
దీనికి కారణం ఇది: update()
పద్ధతిలో కొన్ని మార్పులు చేయడానికి:
మొదట, మేము ప్రస్తుత కాంపాస్సు అబ్జెక్ట్ ని సేవ్ చేస్తాము:
ctx.save();
కొన్నిసార్లు మేము translate పద్ధతిని ఉపయోగించి మొత్తం కాంపాస్సును కేంద్ర కాంపోనెంట్ కేంద్రానికి తిరిగి పెట్టాము:
ctx.translate(x, y);

కొన్నిసార్లు మేము rotate() పద్ధతిని ఉపయోగించి కావాలి చక్రాలు చేయడానికి:
ctx.rotate(angle);

ఇప్పుడు మేము కాంపోనెంట్ ను కాంపాస్సు పైన దృశ్యాన్ని చేయడానికి తయారవుతున్నాము, కానీ ఇప్పుడు మేము కేంద్రంలో పోసించడానికి సరిగ్గా సరిగ్గా కాంపాస్సును తిరిగి పెట్టాము:
ctx.fillRect(width / -2, height / -2, width, height);

పూర్తి అయినప్పుడు, మామూలు పద్ధతిని ఉపయోగించి ఈ కాంటెక్స్ట్ అబ్జెక్ట్ మునుపటి స్థానానికి తిరిగి పెట్టాలి:
ctx.restore();
ఈ కాంపోనెంట్ ఒక మాత్రమే చక్రాలు ఉంటుంది:

కాంపోనెంట్ నిర్మాణకర్త
component
నిర్మాణ కార్యక్రమంలో ఒక పేరు కలిగిన angle
కొత్త అనుపాతం, ఇది కాంపోనెంట్ చక్రాలను ప్రతిబింబిస్తుంది.
component
నిర్మాణ కార్యక్రమం యొక్క update
పద్ధతి మామూలుగా కాంపోనెంట్ గుర్తించబడుతుంది, ఇక్కడ మీరు కాంపోనెంట్ చక్రాలు సాధ్యమవుతుంది చూడవచ్చు:
ప్రతిపాదన
function component(width, height, color, x, y) { this.width = width; this.height = height; this.angle = 0; this.x = x; this.y = y; this.update = function() { ctx = myGameArea.context; ctx.save(); ctx.translate(this.x, this.y); ctx.rotate(this.angle); ctx.fillStyle = color; ctx.fillRect(this.width / -2, this.height / -2, this.width, this.height); ctx.restore(); } } function updateGameArea() { myGameArea.clear(); myGamePiece.angle += 1 * Math.PI / 180; myGamePiece.update(); }
- 上一页 గేమ్ బాంప్
- 下一页 గేమ్ మొబిలిటీ