tw.js是一種API,可以輕鬆使用代碼創建2D形狀。跟進,您將學習如何從JavaScript中創建和動畫形狀。
twe.js是渲染器的敏捷,因此您可以依靠同一API使用Canvas,SVG或WebGL繪製2D。該庫具有許多方法,可用於控制屏幕上的不同形狀或它們的動畫。圖書館的未壓縮版本的大小約為128 kb,而壓縮版本為50 kb。如果您使用的是最新版本,則可以使用自定義構建進一步減少庫的大小。。您可以傳遞不同對象的列表,也可以將一組對象,路徑或組作為參數傳遞給此方法。它還將一次返回填充
,lineWidth值。我們實際上將設置小組的位置。由於矩形是組的一部分,因此它們將自動移動。
您可以在兩個js中定義線性和徑向梯度。定義梯度並不意味著它將在屏幕上自動渲染,但是在設置兩個時,您可以使用它。 makelineargradient(x1,y1,y1,x2,y2,stop)。值新的兩個stop(偏移,顏色,不透明度),其中兩個。 MakerAdialGradient(x,y,radius,stop,stop,fx,fy>>)。在這種情況下,值二。 makeText(消息,x,y,樣式)消息
是您要編寫的實際文本。參數 x
和 y<code>message
是該點的坐標,它將充當編寫文本的中心。 樣式<code>x
參數是一個可以用於設置大型屬性值的對象。 y
>styles
>您可以使用樣式設置諸如font family
size size <p>,<code> code> Acod> Aligimment <ancimegnment>。您還可以指定諸如<code> fill<code>family
, stroke<code>size
, opacity <code>alignment
, rotage> rotation <code>fill
, scor> scor<code>stroke
和 translation<code>opacity
rotation
scale
translation
var rects = [];<br><br>var elemWidth = document.querySelector("#draw-shapes").offsetWidth;<br><br>for (i = 0; i < 100; i++) {<br> rects[i] = two.makeRectangle(<br> Math.floor(Math.random() * elemWidth * 2),<br> Math.floor(Math.random() * 420 * 2),<br> 10 + Math.floor(Math.random() * 100),<br> 10 + Math.floor(Math.random() * 100)<br> );<br>}<br><br>var group = two.makeGroup(...rects);<br><br>group.noFill();<br>group.stroke = "black";<br>group.linewidth = 6;<br><br>two.update();<br>
centerX
centerY
在本教程中,我將向您展示如何使用Two.js呈現元素週期表的前十個要素,電子圍繞核旋轉的電子。核還將有一些輕微的動作來提高我們表示的視覺吸引力。 elementNames
>styles
我們首先定義一些變量和函數,這些變量和函數將在以後使用。
intRange()
>上面的代碼存儲了我們窗口中心的坐標,以變量 cope> cente> cente> centerx <centex> and 和 Centery。這些將稍後將我們的原子放在中心。 <code> elementNames<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">var centerX = window.innerWidth / 2;<br>var centerY = window.innerHeight / 2;<br><br>var elem = document.getElementById("atoms");<br><br>var elementNames = [<br> "",<br> "Hydrogen",<br> "Helium",<br> "Lithium",<br> "Beryllium",<br> "Boron",<br> "Carbon",<br> "Nitrogen",<br> "Oxygen",<br> "Fluorine",<br> "Neon"<br>];<br><br>var styles = {<br> alignment: "center",<br> size: 36,<br> family: "Lato"<br>};<br><br>var nucleusCount = 10;<br>var nucleusArray = Array();<br><br>var electronCount = 10;<br>var electronArray = Array();<br><br>function intRange(min, max) {<br> return Math.random() * (max - min) + min;<br>}<br></pre><div class="contentsignin">登入後複製</div></div><div class="contentsignin">登入後複製</div></div>陣列包含週期表的前十個元素的名稱。每個名稱的索引對應於該元素的電子和質子的數量,它以一個空字符串開始。 <code>樣式<p>對象包含用於造型文本對象的屬性。 </p>><p>我們還定義了一個函數<code> intrange()<code>intRange()
在給定的極端內獲取一個隨機的整數值。 makeCircle()
nucleusArray
intrange()功能將所有這些中子和質子放置在彼此20個像素中。 <code> makeCircle()方法還將這些質子和中子的半徑設置為10像素。之後,我們迭代<code> nucleusArray ,並用不同的梯度交替填充每個圓圈。 在核內放置中子和質子很容易。但是,將電子適當地放置在均勻距離處將需要一些數學。我們使用<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">var rects = [];<br><br>var elemWidth = document.querySelector("#draw-shapes").offsetWidth;<br><br>for (i = 0; i < 100; i++) {<br> rects[i] = two.makeRectangle(<br> Math.floor(Math.random() * elemWidth * 2),<br> Math.floor(Math.random() * 420 * 2),<br> 10 + Math.floor(Math.random() * 100),<br> 10 + Math.floor(Math.random() * 100)<br> );<br>}<br><br>var group = two.makeGroup(...rects);<br><br>group.noFill();<br>group.stroke = "black";<br>group.linewidth = 6;<br><br>two.update();<br></pre><div class="contentsignin">登入後複製</div></div><div class="contentsignin">登入後複製</div></div>>變量來指定不同電子殼與核的距離。整個圓的角度等於2 Pi弧度。我們可以通過平等分配2個PI弧度來統一地放置不同的電子。 <ancy><p>><code>shellRadius
>和函數用於根據其角度的角度分離不同電子的位置向量的垂直和水平成分。它還一次將所有電子的填充顏色設置為特定軌道。它還告訴Two.js以特定的速度旋轉電子和質子。 Math.cos()
Math.sin()
>代碼的最後一部分使我們通過單擊鼠標或敲擊來迭代元素。為了加載下一個元素,我們將更多電子和一個質子或中子可見,然後更新元素名稱。單擊最後一個元素後,所有粒子都會再次隱藏,因此我們可以重新開始。
var centerX = window.innerWidth / 2;<br>var centerY = window.innerHeight / 2;<br><br>var elem = document.getElementById("atoms");<br><br>var elementNames = [<br> "",<br> "Hydrogen",<br> "Helium",<br> "Lithium",<br> "Beryllium",<br> "Boron",<br> "Carbon",<br> "Nitrogen",<br> "Oxygen",<br> "Fluorine",<br> "Neon"<br>];<br><br>var styles = {<br> alignment: "center",<br> size: 36,<br> family: "Lato"<br>};<br><br>var nucleusCount = 10;<br>var nucleusArray = Array();<br><br>var electronCount = 10;<br>var electronArray = Array();<br><br>function intRange(min, max) {<br> return Math.random() * (max - min) + min;<br>}<br>
更多JavaScript Resources
以上是初學者的指南繪製2D圖形的指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!