Pixi繪制地圖和小車

????????之前已經用Pixi繪制出了各種圖形以及通過圖片繪制精靈,這節用pixi繪制網格地圖,并通過圖片制作一個Sprite,讓這個Sprite在網格地圖上運動。首先需要在頁面中添加一個div用來后期展示canvas的畫布,并將此div實例化為PIXI的Application,作為接下來使用的stage,

<div ref="pixiContainer" style="width: 100%;height: 100%"></div>let width = window.innerWidthlet height = window.innerHeightthis.app = new PIXI.Application({width: width, height: height,backgroundColor: '#FFFFFF'});this.$refs.pixiContainer.appendChild(this.app.view)

????????然后給地圖中添加點位,這里用for循環添加,繪制一個20*10的一共200個點位,為了讓點位不單調,這里用兩種顏色,底色為黑色,大小為6,上面再放一個大小為3的藍色圓。

for (let i = 0; i < 20; i++) {for (let j = 0; j < 10; j++) {this.drawPoint(100+i*50,100+j*50,6)}}
drawPoint(x,y,size){const graphicsOut = new PIXI.Graphics();// 創建一個Graphics對象用于繪制圖形graphicsOut.beginFill('#000000'); // 設置填充顏色為黑色graphicsOut.drawCircle(x, y, size); // // 繪制一個半徑為2的圓形,作為點graphicsOut.endFill();// 結束填充this.app.stage.addChild(graphicsOut); // 將圖形添加到舞臺const graphics = new PIXI.Graphics();// 創建一個Graphics對象用于繪制圖形graphics.beginFill('#0000FF'); // 設置填充顏色為藍色graphics.drawCircle(x, y, size/2); // 繪制一個半徑為2的圓形,作為點graphics.endFill();// 結束填充this.app.stage.addChild(graphics);// 將圖形添加到舞臺},

?

有了點位之后開始放車了,這里的車使用一個黑色車形狀的圖片代替,繪制好后要將車的中心點設置為車的中心點,否則今后旋轉的時候會圍繞著左上角旋轉而不是自身的中心,

      PIXI.Assets.load('/static/images/transfer_vehicle.png').then((texture) =>{let sprite = new PIXI.Sprite(texture);sprite.scale.set(0.02,0.02,0.02)sprite.x=x;sprite.y=y;sprite.anchor.set(0.5)this.app.stage.addChild(sprite);

????????但是此時車是靜止不動的,因為沒有加循環移動的方法,PIXI添加移動方法是用this.app.ticker就類似于ThreeJs中的requestAnimationFrame,是通過不斷重新渲染場景,在每次渲染的時候改變場景中對象的屬性,就可以實現看起來在移動的效果。這里添加的動畫是車從原始點位移動到y軸為500的位置,移動到點位后停止。

this.app.ticker.add(() =>{if(sprite.y<500){sprite.y += 1;}
})

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/22265.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/22265.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/22265.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python繪制雙變量熱力等級圖

參考資料&#xff1a; https://github.com/mikhailsirenko/bivariate-choropleth/blob/main/bivariate-choropleth.ipynb Bivariate choropleth map using Plotly Matplotlib雙變量熱力等級圖 代碼&#xff1a; import pandas as pd import geopandas as gpd import numpy a…

企業轉型必上的監控系統智能管家大屏UI前端開發

企業轉型必上的監控系統智能管家大屏UI前端開發

Istio安裝記錄

環境介紹 我使用的是k8s 1.23.3版本 istio使用的是istio-1.13.3-linux-amd64.tar.gz 把文件下載k8s集群下&#xff0c;解壓 tar -vzxf istio-1.13.3-linux-amd64.tar.gz然后設置環境變量 [rootmaster istio]# cat /etc/profile export ISTIO_HOME/root/istio-1.13.3 expor…

3067. 在帶權樹網絡中統計可連接服務器對數目 Medium

給你一棵無根帶權樹&#xff0c;樹中總共有 n 個節點&#xff0c;分別表示 n 個服務器&#xff0c;服務器從 0 到 n - 1 編號。同時給你一個數組 edges &#xff0c;其中 edges[i] [ai, bi, weighti] 表示節點 ai 和 bi 之間有一條雙向邊&#xff0c;邊的權值為 weighti 。再給…

Yolo-v5模型訓練速度,與GeForce的AI算力描述

1.GeForce RTX3070 Ti官網參數&#xff1a; GeForce RTXTM 3070 Ti 和 RTX 3070 顯卡采用第 2 代 NVIDIA RTX 架構 - NVIDIA Ampere 架構。該系列產品搭載專用的第 2 代 RT Core &#xff0c;第 3 代 Tensor Core、全新的 SM 多單元流處理器以及高速顯存&#xff0c;助您在高性…

【網絡安全的神秘世界】MySQL

&#x1f31d;博客主頁&#xff1a;泥菩薩 &#x1f496;專欄&#xff1a;Linux探索之旅 | 網絡安全的神秘世界 | 專接本 MySQL MySQL 教程 | 菜鳥教程 (runoob.com) 什么是數據庫 數據庫&#xff08;Database&#xff09;是按照數據結構來組織、存儲和管理數據的倉庫 在do…

二手筆記本怎么買

用途&#xff1a; 1.給爹媽用來簡單辦公&#xff0c;只是用office基礎辦公軟件&#xff0c;無出差無游戲無畫圖需求。 預算&#xff1a; 1000以內 以下是電腦對比選項&#xff1a; 屏幕大小-> 目前市面上的尺寸對比&#xff0c;以A4紙說明&#xff0c;13.3寸14.1寸15.6…

Camunda 7.x 系列【66】實戰篇之我發起的

有道無術,術尚可求,有術無道,止于術。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源碼地址:https://gitee.com/pearl-organization/camunda-study-demo 前后端基于若依:https://gitee.com/y_project/RuoYi-Vue 流程設計器基于RuoYi-flowable:https://gi…

參數高效微調PEFT(四)快速入門(IA)3

參數高效微調PEFT(四)快速入門(IA)3 我們已經了解了HuggingFace中peft庫的幾種高效微調方法。 參數高效微調PEFT(一)快速入門BitFit、Prompt Tuning、Prefix Tuning 參數高效微調PEFT(二)快速入門P-Tuning、P-Tuning V2 參數高效微調PEFT(三)快速入門LoRA、AdaLoRA 今天我…

探索 Omost:創新的圖像生成AI框架

文章目錄 探索 Omost&#xff1a;創新的圖像生成AI框架第一部分&#xff1a;背景第二部分&#xff1a;Omost是什么&#xff1f;第三部分&#xff1a;如何安裝Omost&#xff1f;第四部分&#xff1a;結合具體場景使用第五部分&#xff1a;總結 探索 Omost&#xff1a;創新的圖像…

OceanBase 4.3 特性解析:列存技術

在涉及大規模數據的復雜分析或即時查詢時&#xff0c;列式存儲是支撐業務負載的關鍵技術之一。相較于傳統的行式存儲&#xff0c;列式存儲采用了不同的數據文件組織方式&#xff0c;它將表中的數據以列為單位進行物理排列。這種存儲模式允許在分析過程中&#xff0c;查詢計算僅…

flowable工作流 完成任務代碼 及擴展節點審核人(實現多級部門主管 審核等)詳解【JAVA+springboot】

低代碼項目 使用flowable 工作流 完成任務代碼 詳解 可以看到 complete()方法 傳遞了流程變量參數var 前端傳遞此參數就可以實現 流程中 審批 更新流程變量參數var 也可以進行更多擴展 實現流程中更新表單內容功能 啟動流程實例代碼 實現對于流程自定義 動態節點審核人 功…

中央空調節能的分戶計費系統

中央空調節能 在建筑能耗中&#xff0c;中央空調能耗一般占到了40%---60%的比例&#xff0c;因此如何有效降低空調能耗就成為建筑節能的重中之重。 項目案例描述 山東銀座購物廣場&#xff1a;為集購物中心、高級酒店式公寓和辦公為一體的綜合性公共建筑。整體建筑共為地下3層&…

副業變現:Midjourney繪畫賺錢的6種方式

今年被稱為AI元年&#xff0c;其中最火的兩款AI工具非ChatGpt和Midjourney莫屬。究其原因&#xff0c;無非兩點&#xff1a;第一&#xff0c;它提高了生產力&#xff0c;之前需要兩年完成的工作&#xff0c;使用ChatGpt兩天就完成。 第二&#xff0c;它帶來了副業收入&#x…

JavaScript異步編程簡單介紹

JavaScript異步編程是一種編程模式&#xff0c;用于處理需要等待某些操作完成之后才能繼續執行的代碼。這些操作可以是網絡請求、文件讀取、定時器等等。 異步編程的目標是避免阻塞代碼執行&#xff0c;在等待操作完成的同時&#xff0c;允許其他代碼繼續執行。 以下是一個使…

Springboot-RabbitMQ 消息隊列使用

一、概念介紹&#xff1a; RabbitMQ中幾個重要的概念介紹&#xff1a; Channels&#xff1a;信道&#xff0c;多路復用連接中的一條獨立的雙向數據流通道。信道是建立在真實的 TCP 連接內地虛擬連接&#xff0c;AMQP 命令都是通過信道發出去的&#xff0c;不管是發布消息、訂閱…

2021 hnust 湖科大 數字系統設計與VHDL課程 大作業 - 出租車計價器設計

2021 hnust 湖科大 數字系統設計與VHDL課程大作業-出租車計價器設計 描述 大二上的eda考查課的實驗&#xff0c;額外實現了停車等待2分鐘后收費1元/min。內含項目文件&#xff08;實測可運行&#xff09;&#xff0c;代碼&#xff0c;報告&#xff0c;視頻和照片&#xff0c;…

JavaScript函數定義,函數參數,函數調用

JavaScript函數定義&#xff1a; 在JavaScript中&#xff0c;我們可以使用關鍵字function來定義一個函數。函數定義的一般語法如下&#xff1a; function functionName(parameter1, parameter2, ...){// 函數體 }其中&#xff0c;functionName是函數的名稱&#xff0c;可以自定…

功能強大且專業的PDF轉換軟件PDF Shaper Professional 14.2

PDF Shaper Professional是一款適用于Windows的程序&#xff0c;可讓您在計算機上處理PDF文件。 要開始使用PDF Shaper Professional&#xff0c;您需要在Windows計算機上下載并安裝該程序。您還應該有合適的驅動程序和編解碼器來處理計算機上的文本和圖形。 安裝程序后&#…

分享一份糟糕透頂的簡歷,看看跟你寫的一樣不

最近看了一個人的簡歷&#xff0c;怎么說呢&#xff0c;前幾年這么寫沒問題&#xff0c;投出去就有回復&#xff0c;但從現在開始&#xff0c;這么寫肯定不行了。下面我給大家分享一下內容&#xff1a; 目錄 &#x1f926;?♀?這是簡歷文檔截圖 &#x1f937;?♀?這是基本…