HTML, CSS och Javascript: Skillnad mellan sidversioner

Från Wikiskola
Hoppa till navigering Hoppa till sök
Rad 1 025: Rad 1 025:


}}
}}
{{clear}}
== Gör ett ritprogram ==
[[Fil:Ritprogram1.PNG|400px|höger]]
Med följande kod kan du rita på canvas med muspekaren. Det gör att du kan bygga ett Paintliknade program. Nedan finns ett exempel men det kommer fler. Koden behöver städas lite också :-)
{{Lista |
<pre>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<style>
body {
    margin: 0;
}
canvas {
    border:1px solid #d3d3d3;
    background-color: #f1f1f1;
}
</style>
</head>
<body onload="startGame()">
<script>
var myGamePiece;
var myUpBtn;
var myDownBtn;
var myLeftBtn;
var myRightBtn;
function startGame() {
    myGamePiece = new component(30, 30, "red", 10, 120);
    myUpBtn = new component(30, 30, "blue", 50, 10);   
    myDownBtn = new component(30, 30, "blue", 50, 70);   
    myLeftBtn = new component(30, 30, "blue", 20, 40);   
    myRightBtn = new component(30, 30, "blue", 80, 40);               
    myGameArea.start();
}
var myGameArea = {
    canvas : document.createElement("canvas"),
    start : function() {
        this.canvas.width = 480;
        this.canvas.height = 270;
        this.context = this.canvas.getContext("2d");
        document.body.insertBefore(this.canvas, document.body.childNodes[0]);
        this.interval = setInterval(updateGameArea, 20);
        window.addEventListener('mousedown', function (e) {
            myGameArea.x = e.pageX;
            myGameArea.y = e.pageY;
        })
        window.addEventListener('mouseup', function (e) {
            myGameArea.x = false;
            myGameArea.y = false;
        })
        window.addEventListener('touchstart', function (e) {
            myGameArea.x = e.pageX;
            myGameArea.y = e.pageY;
        })
        window.addEventListener('touchend', function (e) {
            myGameArea.x = false;
            myGameArea.y = false;
        })
    },
    clear : function(){
        this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
    }
}
function component(width, height, color, x, y) {
    this.width = width;
    this.height = height;
    this.speedX = 0;
    this.speedY = 0;
    this.x = x;
    this.y = y;   
    this.update = function() {
        ctx = myGameArea.context;
        ctx.fillStyle = color;
      ctx.fillRect(this.x, this.y, this.width, this.height);
    }
    this.clicked = function() {
        var myleft = this.x;
        var myright = this.x + (this.width);
        var mytop = this.y;
        var mybottom = this.y + (this.height);
        var clicked = true;
        if ((mybottom < myGameArea.y) || (mytop > myGameArea.y) || (myright < myGameArea.x) || (myleft > myGameArea.x)) {
            clicked = false;
        }
        return clicked;
    }
}
function updateGameArea() {
//    myGameArea.clear();
    if (myGameArea.x) {
        myGamePiece = new component(30, 30, "green", myGameArea.x, myGameArea.y);
   
        if (myUpBtn.clicked()) {
        //    myGamePiece.y -= 1;
        }
        if (myDownBtn.clicked()) {
        //    myGamePiece.y += 1;
        }
        if (myLeftBtn.clicked()) {
        //    myGamePiece.x += -1;
        }
        if (myRightBtn.clicked()) {
        //    myGamePiece.x += 1;
        }
    }
    myUpBtn.update();       
    myDownBtn.update();       
    myLeftBtn.update();       
    myRightBtn.update();                               
    myGamePiece.update();
}
</script>
<p>Click on the blue "buttons" to make the red square move.</p>
</body>
</html>
</pre>}}
{{clear}}
{{clear}}



Versionen från 9 september 2019 kl. 11.26

[redigera]
Mål för undervisningen

Vi kommer att arbeta med Ci 1, dvs det centrala innehållet1:

Teknikutvecklingsprocessens alla delar från idé och modell, produkt eller tjänst till användning och återvinning med praktisk tillämpning av teknik och teknikutveckling inom ett eller flera teknikområden.

Ni kommer att kunna visa förmåga:

3. Förmåga att lösa tekniska problem.
6. Kunskaper om hur teknik har utvecklats och utvecklas i samspel med det omgivande samhället samt kunskaper om befintlig teknik och aktuell teknikutveckling.


Som intro kan man titta på några olika exempelsidor med enkel kodning samt några platser där man kan lära sig koda. Utforska gärna detta på egen hand.

Intro till Turtle Logo programmering
Scratch
Lär dig programmera genom att spela spel
Codecademy
Teori - programmering med en presentation.

Editors

Det finns en editor att ladda ner som heter TextWrangler och den fungerar bra men länkarna nedan går till moderna editorer. Testa dig fram så du hittar vad som passar dig bäst.

TryIt Editor klicka på den gröna Try it-knappen.
Atom är ett bra verktyg för att koda med färg.
TextWrangler Traditinellt verktyg för textredigering. (Mac)
Brackets
CodePen