Schönen guten Tag,
Derzeit habe ich ein Problem mit dem erstellen einer Schleife, welche wiederum einen Hintergrund zeichnet.
Gesamte HTML Datei ohne Schleife (Funktioniert):
<!DOCTYPE html>
<html>
<head>
<title>UI</title>
</head>
<body>
<canvas id="canv1" width="450" height="450">
Canvas wird von deinem Browser nicht unterstützt!
</canvas>
<p>HTML5 Canvas und Javascript Demo von *schnips*. </p>
<script>
//Interna
var canvas = window.document.getElementById("canv1");
if(canvas.getContext) {
var ctx = canvas.getContext('2d');
drawUI();
} else {
//*
alert("Ihr Browser unterstützt leider kein HTML5 Canvas!");
//*/
//Fallback
}
function drawUI() {
ctx.beginPath();
ctx.save();
ctx.moveTo(0, 0);
for(i=0; i != 7; i++) {
if(i == 0) {
ctx.moveTo(50, 0);
} else {
ctx.lineTo(50, 0);
}
ctx.rotate(2*Math.PI/360*60);
}
ctx.restore();
ctx.moveTo(0, 0);
ctx.translate(80, 45);
ctx.save();
ctx.moveTo(0, 0);
for(i=0; i != 7; i++) {
if(i == 0) {
ctx.moveTo(50, 0);
} else {
ctx.lineTo(50, 0);
}
ctx.rotate(2*Math.PI/360*60);
}
ctx.restore();
ctx.moveTo(0, 0);
ctx.translate(80, -45);
ctx.save();
ctx.moveTo(0, 0);
for(i=0; i != 7; i++) {
if(i == 0) {
ctx.moveTo(50, 0);
} else {
ctx.lineTo(50, 0);
}
ctx.rotate(2*Math.PI/360*60);
}
ctx.lineWidth = 1;
ctx.stroke();
}
</script>
</body>
</html>
Der folgende Teil soll in eine Schleife:
ctx.save();
ctx.moveTo(0, 0);
for(i=0; i != 7; i++) {
if(i == 0) {
ctx.moveTo(50, 0);
} else {
ctx.lineTo(50, 0);
}
ctx.rotate(2*Math.PI/360*60);
}
ctx.restore();
ctx.moveTo(0, 0);
ctx.translate(80, 45);
ctx.save();
ctx.moveTo(0, 0);
for(i=0; i != 7; i++) {
if(i == 0) {
ctx.moveTo(50, 0);
} else {
ctx.lineTo(50, 0);
}
ctx.rotate(2*Math.PI/360*60);
}
ctx.restore();
ctx.moveTo(0, 0);
ctx.translate(80, -45);
ctx.save();
ctx.moveTo(0, 0);
for(i=0; i != 7; i++) {
if(i == 0) {
ctx.moveTo(50, 0);
} else {
ctx.lineTo(50, 0);
}
ctx.rotate(2*Math.PI/360*60);
}
Diesen Code habe ich geschrieben:
for(i = 0; i!= 5; i++) {
ctx.save();
ctx.moveTo(0, 0);
for(i=0; i != 7; i++) {
if(i == 0) {
ctx.moveTo(50, 0);
} else {
ctx.lineTo(50, 0);
}
ctx.rotate(2*Math.PI/360*60);
}
ctx.restore();
ctx.moveTo(0, 0);
if(i % 2 == 0) {
ctx.translate(80, 45);
} else {
ctx.translate(80, -45);
}
}
Leider verursacht dieser aus einem mir nicht bekannten Grund Probleme. Ich hoffe auf eure Unterstützung!
Mit freundlichen Grüßen,
Seoson