Welcome, guest! Please login or register.

    * Shoutbox

    RefreshHistory
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !! [link]
      May 24, 2019, 04:20:48 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !! [link]
      May 24, 2019, 04:20:40 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !! [link]
      May 24, 2019, 04:20:31 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !! [link]
      May 24, 2019, 04:20:21 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !! [link]
      May 24, 2019, 04:20:14 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !! [link]
      May 24, 2019, 04:20:07 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !! [link]
      May 24, 2019, 04:19:59 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !! [link]
      May 24, 2019, 04:19:50 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT ! ! [link]
      May 24, 2019, 04:19:33 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !!https://www.dissuade614.com/
      May 24, 2019, 04:18:54 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !!https://www.dissuade614.com/
      May 24, 2019, 04:18:26 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !!https://www.dissuade614.com/
      May 24, 2019, 04:18:14 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !!https://www.dissuade614.com/
      May 24, 2019, 04:17:57 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !!https://www.dissuade614.com/
      May 24, 2019, 04:17:46 PM
    • kingyou: DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !!https://www.dissuade614.com/
      May 24, 2019, 04:17:34 PM
    • kingyou:[link]
      May 24, 2019, 04:17:05 PM
    • kingyou:[link]  DID YOU ENJOY [email protected]!!!! WELL THIS IS WAYYYY BETTER ! COME TRY US OUT !!!
      May 24, 2019, 04:16:58 PM
    • PavSwag: BRAND NEW RSPS AUTOSCAPE,ORG FREE MBOX WHEN YOU GET 99 SKILL FOR DONATOR POINTS
      May 22, 2019, 01:52:56 PM
    • Duriall: Join the HYPE TRAIN! New Server - Varrock - Release is tomorrow. Join the discord and forums now for free items on release! [link]
      May 21, 2019, 04:47:56 PM
    • Riskdemon:[link] Varrock OSRS RSPS releasing May 22nd! Discord link provided!
      May 18, 2019, 11:43:14 PM

    Author Topic: (Array)Html5 Map? Is there any other way?  (Read 2314 times)

    0 Members and 1 Guest are viewing this topic.

    Offline317guy

    • Member
    • ***
    • Posts: 241
    • Thanks: +0/-0
      • View Profile
    (Array)Html5 Map? Is there any other way?
    « on: May 04, 2016, 07:49:11 AM »
    Was just curious is there any other way to program a map in JavaScript
    using a different method besides arrays, below is just a small way of how i am rendering my maps
    however my map is now huge and it is very bothersome to find the area i wish too edit. I am also using the array elements for collision.
    if anyone knows of a different method please share. or you can just flame me for my code.

    (click to show/hide)
    Runescape Gambling

    OfflineBowser jr

    • Member
    • ****
    • Posts: 6,001
    • Thanks: +0/-0
      • View Profile
    Re: (Array)Html5 Map? Is there any other way?
    « Reply #1 on: May 04, 2016, 09:04:39 AM »
    You probably want to generate the map from a mapdata file, and not hardcode stuff like this.
    Runescape Gambling

    Offline317guy

    • Member
    • ***
    • Posts: 241
    • Thanks: +0/-0
      • View Profile
    Re: (Array)Html5 Map? Is there any other way?
    « Reply #2 on: May 04, 2016, 09:20:10 AM »
    You probably want to generate the map from a mapdata file, and not hardcode stuff like this.
    Do you think you could point me in the right direction? any information or website would be great  :)
    Runescape Gambling

    OfflineBowser jr

    • Member
    • ****
    • Posts: 6,001
    • Thanks: +0/-0
      • View Profile
    Re: (Array)Html5 Map? Is there any other way?
    « Reply #3 on: May 04, 2016, 12:55:26 PM »
    Just look how other people implement their maps.

    OfflineDeath Style

    • Member
    • ****
    • Posts: 569
    • Thanks: +0/-0
      • View Profile
    Re: (Array)Html5 Map? Is there any other way?
    « Reply #4 on: May 05, 2016, 10:29:54 AM »
    is this a static image?

    using arrays is your best bet but you can make it easier

    Code: Javascript
    1. var loadImage =(url)=>new Promise((resolve, reject)=>{
    2.   var img =new Image();
    3.   img.onload=()=> resolve(img);
    4.   img.onerror=(err)=> reject(err);
    5.   img.src= url;
    6. });
    7.  
    8. var loadImages =(imgUrls)=> Promise.all(imgUrls.map(loadImage));
    9.  
    10. var drawMap =(tiles, tileImgs, context)=>{
    11.   var tileHeight = tileImgs[0].height;
    12.   var tileWidth = tileImgs[0].width;
    13.   tiles.forEach((row, y)=> row.forEach((tileID, x)=> context.drawImage(tileImgs[tileID], x * tileWidth, y * tileHeight)));
    14. };
    15.  
    16. var imgUrls =[
    17.   'Grass.png',
    18.   'Rock.png',
    19.   'Sand.png'
    20. ];
    21.  
    22. var map =[
    23.   [0,0,0],
    24.   [1,1,1],
    25.   [2,2,2]
    26. ];
    27.  
    28. var context;// something...
    29.  
    30. loadImages(imgUrls).then(tileImgs => drawMap(map, tileImgs, context));
    31.  

    the ID in your 2d map array correlates with the index in imgUrls, so you don't need to check each one individually

    you'll get the first row of grass, then rock, then sand
    « Last Edit: May 05, 2016, 12:02:27 PM by Death Style »

    Offline317guy

    • Member
    • ***
    • Posts: 241
    • Thanks: +0/-0
      • View Profile
    Re: (Array)Html5 Map? Is there any other way?
    « Reply #5 on: May 05, 2016, 12:57:05 PM »
    is this a static image?

    using arrays is your best bet but you can make it easier

    Code: Javascript
    1. var loadImage =(url)=>new Promise((resolve, reject)=>{
    2.   var img =new Image();
    3.   img.onload=()=> resolve(img);
    4.   img.onerror=(err)=> reject(err);
    5.   img.src= url;
    6. });
    7.  
    8. var loadImages =(imgUrls)=> Promise.all(imgUrls.map(loadImage));
    9.  
    10. var drawMap =(tiles, tileImgs, context)=>{
    11.   var tileHeight = tileImgs[0].height;
    12.   var tileWidth = tileImgs[0].width;
    13.   tiles.forEach((row, y)=> row.forEach((tileID, x)=> context.drawImage(tileImgs[tileID], x * tileWidth, y * tileHeight)));
    14. };
    15.  
    16. var imgUrls =[
    17.   'Grass.png',
    18.   'Rock.png',
    19.   'Sand.png'
    20. ];
    21.  
    22. var map =[
    23.   [0,0,0],
    24.   [1,1,1],
    25.   [2,2,2]
    26. ];
    27.  
    28. var context;// something...
    29.  
    30. loadImages(imgUrls).then(tileImgs => drawMap(map, tileImgs, context));
    31.  

    the ID in your 2d map array correlates with the index in imgUrls, so you don't need to check each one individually

    you'll get the first row of grass, then rock, then sand
    Thanks for the upgrade hahaha, Just wondering do you think it is possible to load the data from a image file so instead of  0 = grass, a pixel of green on the image file would represent the grass image?

    OfflineDeath Style

    • Member
    • ****
    • Posts: 569
    • Thanks: +0/-0
      • View Profile
    Re: (Array)Html5 Map? Is there any other way?
    « Reply #6 on: May 06, 2016, 04:48:03 AM »
    you could map the image file of green/brown/tan to an array of 0/1/2 and then run it through that to get grass/rock/sand

    you'd need to list the rgba values in the same order and map them over a Uint32Array view of the imagedata

    Offlinechillwitm888

    • Member
    • ****
    • Posts: 1,721
    • Thanks: +0/-0
      • View Profile
    Re: (Array)Html5 Map? Is there any other way?
    « Reply #7 on: May 19, 2016, 06:09:41 AM »
    if you want to generate a map, why not just use google maps?
    Google has their map Api open and you can use their placepicker API to plot ur points. Its fairly intuitive
    No need to build something thats already been built

    Offlinejustaguy

    • Member
    • ****
    • *
    • Posts: 706
    • Thanks: +0/-0
      • View Profile
    Re: (Array)Html5 Map? Is there any other way?
    « Reply #8 on: May 19, 2016, 09:14:54 AM »
    if you want to generate a map, why not just use google maps?
    Google has their map Api open and you can use their placepicker API to plot ur points. Its fairly intuitive
    No need to build something thats already been built

    He wants to make a game world.
    RIP

    Offline317guy

    • Member
    • ***
    • Posts: 241
    • Thanks: +0/-0
      • View Profile
    Re: (Array)Html5 Map? Is there any other way?
    « Reply #9 on: August 15, 2016, 03:56:37 AM »
    if you want to generate a map, why not just use google maps?
    Google has their map Api open and you can use their placepicker API to plot ur points. Its fairly intuitive
    No need to build something thats already been built

    He wants to make a game world.
    ^
     |

     

    Copyright © 2017 MoparScape. All rights reserved.
    Powered by SMFPacks SEO Pro Mod |
    SimplePortal 2.3.5 © 2008-2012, SimplePortal