Changes for page Nixie Spritesheet
Last modified by Victor Zhang on 00:34, 22/07/2020
Change comment: Uploaded new attachment "NixiePers.png", version {1}
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,0 @@ 1 -Nixie Spritesheet - Parent
-
... ... @@ -1,1 +1,0 @@ 1 -Main.Past works.My Tests.WebHome - Content
-
... ... @@ -1,70 +1,0 @@ 1 -* During the development of the GDice app ( the log will be posted soon ), I was experimenting ways to display numbers 2 -* One particular way interested me that has the nostalgic feeling, called [[Nixie Tube>>https://en.wikipedia.org/wiki/Nixie_tube]] 3 -** End up not using it, but it's a good test 4 -** Built using [[Autodesk Fusion 360>>https://www.autodesk.com/products/fusion-360/students-teachers-educators]] 5 -*** Solid modeling , will not be polygon efficient for game rendering 6 -*** Rendered as spritesheet, as f360 has a pretty easy to tune rendering system that's almost photo realistic 7 -** Result put in : [[Nixie Tube Spritesheet>>https://opengameart.org/content/nixie-digits-spritesheet]] 8 -** Packed using [[Texturepacker's free version>>https://www.codeandweb.com/texturepacker]]((( 9 -(% border="1" class="table-bordered" %) 10 -|Rendered using Orthogonal Camera|[[image:NixieOrth.png]] 11 -|Rendered using Perspective Camera|[[image:NixiePers.png]] 12 -))) 13 -* Phaser P5 not working somehow needs investigate 14 -* Somehow can only use raw API 15 - 16 -{{html clean="false"}} 17 -<div id="canvasparent"> 18 - <canvas id="mycanvas" width="600" height="300"> 19 - </canvas> 20 -</div> 21 -<script> 22 -let windowurl = window.location.href; 23 -let attachurl = windowurl.substring(0, 41) + 'download' + windowurl.substring(45); 24 -setTimeout( () => { 25 - let c = document.getElementById("mycanvas"); 26 - let ctx = c.getContext("2d"); 27 - 28 - let imgurls = [attachurl+'WebHome/NixieOrth.png', attachurl+'WebHome/NixiePers.png']; 29 - 30 - console.log( "Load image:", JSON.stringify(imgurls) ); 31 - console.log( "canvas size:",c.width, ",", c.height ); 32 - let scrwidth = c.width; 33 - let scrheight = c.height; 34 - let borderwidth = 2; 35 - 36 - // Draw a border 37 - ctx.beginPath(); 38 - ctx.lineWidth = ""+borderwidth; 39 - ctx.strokeStyle = "#ffffff"; 40 - ctx.rect(borderwidth / 2, borderwidth / 2, scrwidth - borderwidth, scrheight - borderwidth); 41 - ctx.stroke(); 42 - 43 - // create images 44 - imgloads = []; 45 - imgurls.forEach( (item, ids) => { 46 - let thisimg = document.createElement("img"); 47 - thisimg.src = item; 48 - imgloads.push( thisimg ); 49 - }); 50 - console.log( imgloads ); 51 - 52 - var currentidx = 0; 53 - setInterval( () => { 54 - // redraw static 55 - ctx.clearRect(0, 0, scrwidth , scrheight); 56 - // Draw a border 57 - ctx.beginPath(); 58 - ctx.lineWidth = ""+borderwidth; 59 - ctx.strokeStyle = "#ffffff"; 60 - ctx.rect(borderwidth / 2, borderwidth / 2, scrwidth - borderwidth, scrheight - borderwidth); 61 - ctx.stroke(); 62 - 63 - console.log( "Drawing frame:" + currentidx ); 64 - ctx.drawImage(imgloads[0], 0, 0, 76, 157, 76 * currentidx, 0, 76 * (currentidx + 1), 157); 65 - currentidx++; 66 - currentidx %= 10; 67 - } , 500 ); 68 -}, 1000 ); 69 -</script> 70 -{{/html}}