1. 程式人生 > >Canvas坦克在畫布上移動

Canvas坦克在畫布上移動

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<div style="position: absolute;top:50px;left:50px;">
    <canvas id="canvas" width="500" height="500">
        your browser does not support HTML5 Canvas.
    </canvas>
</div>
<script>
    window.addEventListener('load',eventWindowLoaded,false);
    function eventWindowLoaded(){
        canvasApp();
    }
    function canvasSupport(){
        return !!document.createElement("text").getContext;
    }
    function canvasApp(){
        if(!canvasSupport){
            return;
        }else{
            var theCanvas=document.getElementById("canvas");
            var context=theCanvas.getContext("2d");
        }


        var tileSheet=new Image();
        tileSheet.src='images/tanks_sheet.png';
        tileSheet.addEventListener('load',eventShipLoaded,false);
//        在畫布上移動
        var dx=0;
        var dy=-1;
//        將會在拼圖左上角的拼版座標
        var x=50;
        var y=500;

        var animationFrames=[1,2,3,4,5,6,7,8];
        var frameIndex=0;

        function eventShipLoaded(){
            startUp();
        }

        function drawScreen(){
            context.fillStyle="#aaaaaa";
            context.fillRect(0,0,500,500);
            x=x+dx;
            y=y+dy;
            var sourceX=Math.floor(animationFrames[frameIndex]%8)*32;
            var sourceY=Math.floor(animationFrames[frameIndex]/8)*32;
            context.drawImage(tileSheet,sourceX,sourceY,32,32,x,y,32,32);

            frameIndex++;
            if(frameIndex==animationFrames.length){
                frameIndex=0;
            }
        }

        function startUp(){
            setInterval(drawScreen,100);
        }

    }
</script>
</body>
</html>


相關推薦

Canvas坦克畫布移動

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head>

unity 獲取UGUI畫布移動滑鼠的座標(物品資訊跟隨滑鼠位置顯示)

void ToolTipFollow () { if (isToolTipShow) {//判斷是否移動到了物品上 Vector2 position; //獲取滑鼠在畫布上的位置 RectTransformUtility.ScreenPointTo

html5<canvas畫布畫視訊和圖片>

<!DOCTYPE html> <html lang="en">     <head>         <meta charset="utf-8">         <style>         canvas{          backgroun

微信H5鬥地主平臺制作在Canvas畫布畫文本的

canvas微信H5鬥地主平臺制作Q:2172243813必不可少的條件(h5.ttkmwl.com)在Canvas畫布上畫文本的var Labels = Class.create();$.extend(Labels.prototype, { initialize: function (cxt) {

Python3 tkinter基礎 Canvas create_text 在畫布添加文字

clas get ubuntu enc bject 堅持 str 語言 .html ? python : 3.7.0 OS : Ubuntu 18.04.1 LTS

【小程式問題】微信小程式 在canvas畫布划動 頁面跟著滑動

微信小程式官方文件有說明,disable-scroll="true" 可以阻止頁面下拉和滾動。這裡有個坑,disable-scroll在真機上如果要生效,那麼要給canvas繫結一個觸控事件才能生效。<canvas disable-scroll="true" bindtouchmove="touchMo

畫布canvas標籤,並且在畫布畫簡單的形狀

今天整畫布,半天下來老是錯,結果: <canvas id = 'c1' width="400" height="400"> <p>瀏覽器不支援</p><!--width:300 height:150--> </

Canvas畫布及文字控制基礎API學習

style 也不能 不能 pan 平移 spa 畫布 bsp ont 這次純API練習,比較簡單,但是是為了之後的結合項目打基礎的,所以也不能忽視它,下面開始: Canvas的平移、旋轉、縮放 ①、Canvas的平移: ②、Canvas的旋轉: ③、Ca

獲取畫布的鼠標位置

註意 調用 canvas dev res afa tom 邊距 tel 在畫布上繪制一些效果的時候,會需要用到畫布上的鼠標的位置. 會用到的知識點: 1. .getBoundingClientRect(), 這個方法返回一個矩形對象,包含四個屬性:left、top、rig

[Processing]在畫布寫文本

ces strong set 改變 sel ESS nbsp leading size 準備工作 這一步只是我強迫癥犯了哈,這個隨意,畫幾根線而已。每一小格10個像素,中格50,大格100像素 1 void setup() 2 { 3 size(1280,

將圖片繪制到畫布:imagecopy()

瀏覽器 img png () clas 圖像資源 綠色 分配 圖片 <?php //1. 繪制圖像資源(創建一個畫布) $image = imagecreatetruecolor(500, 300); //2. 先分配一個綠色 $green = imagecolor

megapix-image外掛 使用Canvas壓縮圖片傳 MegaPixImage.js下載

MegaPixImage.js下載地址 <!DOCTYPE html > <html> <head> <title>通過Canvas及File API縮放並上傳圖片</title> <script

[html5 canvas]用html5的canvas畫一個可移動的方塊

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>MyGame</title> <styl

android 軟鍵盤彈出 佈局移動

這是軟體盤和actiivty主視窗搶空間造成的,需在AndroidManifest.xml裡為activity配置windowSoftInputMode屬性併為其選擇屬性值。 如下: <activity android:name="...Activity" a

Canvas簡易畫布製作筆記】

JS增加類的樣式:ID.classList.add('className') CSS SVG fill context.fillStyle = 'black' transform: scale(1.2) JS設定預設樣式

Canvas簡易畫布制作筆記】

div download 畫圓 nbsp new str nsf tex 筆記 JS增加類的樣式:ID.classList.add(‘className‘) CSS SVG fill context.fillStyle = ‘black‘ transform: scal

HTML5 Canvas處理頭像

最近社群系統需要支援移動端,其中涉及到使用者頭像上傳,頭像有大中小三種尺寸,在PC端,社群用Flash來處理頭像編輯和生成,但該Flash控制元件的介面不友好而且移動端對Flash的支援不好,考慮到這些問題,最後我們選用Canvas來完成影象尺寸縮放和圖片資料獲取。 等

Canvas畫板---手機也可以用的畫板

https://www.jianshu.com/p/ac674a00b34b 學習製作畫板之前,我們先來了解一下canvas標籤一.canvas標籤 1.canvas標籤與img標籤相似,但是canvas標籤是一個閉合標籤,並且沒有src alt屬性。 2.canvas標籤有兩個屬性,width

使用pyplot在一張畫布繪製多個子圖的python指令碼

#coding=utf8 import matplotlib.pyplot as plt import numpy as np #建立陣列:x、y1、y2、y3、x4、y4 x = np.array([10, 8, 13, 9, 11, 14, 6, 4, 12, 7,

Android——Canvas畫布)的使用

Canvas的一些基本方法: Canvas():建立一個空的畫布,可以使用setBitmap()方法來設定繪製的具體畫布; Canvas(Bitmap bitmap):以bitmap物件建立一個畫布,則將內容都繪製在bitmap上,bitmap不得為null