diff options
author | Justin Worthe <justin@worthe-it.co.za> | 2018-04-02 15:35:28 +0200 |
---|---|---|
committer | Justin Worthe <justin@worthe-it.co.za> | 2018-04-02 15:35:28 +0200 |
commit | eba483718cdc46015a15ab14e5954e1468e209e3 (patch) | |
tree | a27b2d98f3523cbe5fd3f7dd53cb464558f66d69 | |
parent | 6ac27a59c1f196e314f6b6528d91b8e41241e2d4 (diff) |
Added number font and points
-rw-r--r-- | src/main.rs | 31 | ||||
-rw-r--r-- | src_assets/tiles/NumberFont_t30.png | bin | 0 -> 4054 bytes | |||
-rw-r--r-- | src_assets/tiles/NumberFont_t30.svg | 91 |
3 files changed, 120 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs index 960197f..ff8b64f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -15,7 +15,8 @@ mod entities; use entities::bug::Bug; struct BugBasherGame { - bugs: Vec<Bug> + bugs: Vec<Bug>, + points: i64 } impl App<AssetId> for BugBasherGame { @@ -44,8 +45,33 @@ impl App<AssetId> for BugBasherGame { } fn render(&mut self, renderer: &mut Renderer<AssetId>) { + let (app_width, app_height) = (renderer.app_width(), renderer.app_height()); renderer.clear((255,255,255)); { + let mut renderer = renderer.tiled_mode(app_width / 2. - 50., -app_height / 2. + 50.); + let spacing = 25.; + let point_str = format!("{}", self.points); + for (i, c) in point_str.chars().enumerate() { + let affine = Affine::translate(i as f64 * spacing, 0.); + let tile = match c { + '-' => TileId::NumberFontR0C0, + '0' => TileId::NumberFontR0C1, + '1' => TileId::NumberFontR0C2, + '2' => TileId::NumberFontR0C3, + '3' => TileId::NumberFontR0C4, + '4' => TileId::NumberFontR0C5, + '5' => TileId::NumberFontR0C6, + '6' => TileId::NumberFontR0C7, + '7' => TileId::NumberFontR0C8, + '8' => TileId::NumberFontR0C9, + '9' => TileId::NumberFontR0C10, + _ => TileId::NumberFontR0C0, + }; + renderer.draw(&affine, tile); + }; + + } + { let mut renderer = renderer.sprite_mode(); for bug in &self.bugs { renderer.draw( @@ -72,6 +98,7 @@ fn main() { Bug::new(0., 1100., 0.), Bug::new(0., -1500., 0.3), Bug::new(300., -1200., 1.5), - ) + ), + points: 0 }); } diff --git a/src_assets/tiles/NumberFont_t30.png b/src_assets/tiles/NumberFont_t30.png Binary files differnew file mode 100644 index 0000000..429b770 --- /dev/null +++ b/src_assets/tiles/NumberFont_t30.png diff --git a/src_assets/tiles/NumberFont_t30.svg b/src_assets/tiles/NumberFont_t30.svg new file mode 100644 index 0000000..8c89b70 --- /dev/null +++ b/src_assets/tiles/NumberFont_t30.svg @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="330" + height="30" + viewBox="0 0 87.312498 7.9375002" + version="1.1" + id="svg5356" + inkscape:version="0.92.2 2405546, 2018-03-11" + sodipodi:docname="NumberFont_t30.svg" + inkscape:export-filename="/home/justin/proj/bug_basher/src_assets/tiles/NumberFont_t30.png" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96"> + <defs + id="defs5350" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2.8" + inkscape:cx="113.68425" + inkscape:cy="4.8933727" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + units="px" + inkscape:window-width="1916" + inkscape:window-height="1055" + inkscape:window-x="0" + inkscape:window-y="21" + inkscape:window-maximized="0"> + <inkscape:grid + type="xygrid" + id="grid5901" + spacingx="7.9375" + spacingy="7.9375" + empspacing="1" /> + <inkscape:grid + type="xygrid" + id="grid5903" + spacingx="7.9375" + spacingy="7.9375" + originx="3.96875" + color="#3f3f00" + opacity="0.1254902" + empcolor="#ff0000" + empopacity="0.25098039" + empspacing="1" /> + </sodipodi:namedview> + <metadata + id="metadata5353"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-289.06248)"> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-0.51676428" + y="296.85013" + id="text5907"><tspan + sodipodi:role="line" + id="tspan5905" + x="-0.51676428" + y="296.85013" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Hack;-inkscape-font-specification:Hack;letter-spacing:1.57691667px;stroke-width:0.26458332" + dx="1.3">-0123456789</tspan></text> + </g> +</svg> |