Diskussion:HTML, CSS och Javascript

Från Wikiskola
Version från den 19 september 2017 kl. 21.43 av Hakan (diskussion | bidrag) (Skapade sidan med ' == Det nya ritprogrammet == Funkar inte! {{uppgruta | '''Ritprogrammet''' 200px | right Ta koden nedan och förbättra til...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök


Det nya ritprogrammet

Funkar inte!

Uppgift
Ritprogrammet

Ta koden nedan och förbättra till ett fantastiskt ritprogram.

Det innebär att du lägger in fler färger, förklarande bokstäver och mousover-funktioner. Du kommer att kopiera från den befintliga koden och ändra vissa parametrar. När du gör detta kommer du att lära dig mer programmering.

Spara koden som en fil av typen .html.

Lämna in på Progress, F3.


Observera att denna kod inte fungerar riktigt i Safari. Använd Chrome.

Lista: (klicka expandera till höger)

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>

<canvas id="myCanvas" width="400" height="500"
style="border:1px solid #d3d3d3;">
Your browser does not support the canvas element.
</canvas>

<script src="http://spelprogrammering.nu/simple.js">

var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");

  var  x0 = 50;
    y0 = 30;
    bredd =40;
    hojd = 40;
    distance = 40;
    color = "green";
    radie = 10;
size = 22;

function myRectangle(x, y, w, l, color) {
ctx.fillStyle = color;
ctx.fillRect(x, y, w, l);
}

function myCircle(x, y, r, t, color) {
ctx.beginPath();
ctx.arc(x,y,r,t, 2.2*Math.PI);
ctx.fillStyle = color;
ctx.fill();
}

function myText(x, y, size, text, color)
{
  ctx.font = size + "pt Helvetica";
  ctx.fillStyle = color;
  ctx.fillText(text, x, y);
}

  function update()
   
{
  // rita de färgade rutorna
   this.myRectangle(x0, y0, bredd, hojd, "green"); 
   this.myRectangle(x0, y0 + distance, bredd, hojd, "blue");
   this.myText(x0-30, y0 + distance+25, 18, "b", "blue");
   this.myRectangle(x0, y0 + 2 * distance, bredd, hojd, "yellow");
   this.myRectangle(x0, y0 + 3 * distance, bredd, hojd, "pink");
  
  // rita med vald färg
  if(mouse.left) 
  {
    this.myCircle(mouse.x, mouse.y, radie, 2,color);
  }
  // sudda med vit färg genom högerklick

  if(mouse.right)
  {
    this.myCircle(mouse.x, mouse.y, radie, 2,"white");
  }
  // välj färg att rita med
    if ((mouse.x > x0) && (mouse.x < x0 + bredd) && (mouse.y > y0) 
        && (mouse.y < y0 + hojd))  { color = "green"; }
    if (keyboard.g)  { color = "yellow"; }
    if (keyboard.b)  { color = "blue"; }
  
  // Välj radie på cikeln du ritar med
    if (keyboard.one)  { radie = 2; }
    if (keyboard.two)  { radie = 4; }
    if (keyboard.three)  { radie = 8; }
}
</script>

</body>
</html>



Exempel

Liam i TE16A gjorde detta ritprogram. Det är mycket bra och förstås A.

Fler kodexempel

Här finns fler kodexempel som du kan ha nytta av i ditt ritprogram. Bland annat kod för tusentals färger:

Spelprogrammering.nu - Ritprogram

Advanced.js

Det verkar som att simple.js hämtar in ett script till, http://spelprogrammering.nu/advanced.js. Det vore bra om man kunde ta in den koden på ett överblickbart sätt i scriptet men det verker inte praktiskt möjligt.