Welcome, guest! Please login or register.

    * Shoutbox

    RefreshHistory
    • hardcore22:[link]
      January 15, 2020, 02:20:59 PM
    • hardcore22:[link]
      January 15, 2020, 02:20:53 PM
    • hardcore22: come play and enjoy the good old feeling of back in the day! [link]
      January 15, 2020, 02:20:48 PM
    • hardcore22: join scaperune!!!! [link]
      January 15, 2020, 02:20:16 PM
    • hardcore22:[link] join the ultimate oldskool feeling
      January 15, 2020, 02:20:05 PM
    • Zukodens: Brand new rsps in this site Adv's : [link]
      January 15, 2020, 11:20:55 AM
    • Zukodens:[link]
      January 15, 2020, 11:20:38 AM
    • ragnoroker: Brand New RSPS - Unique with Friendly laid back community - Join today - [link]
      January 14, 2020, 05:23:32 PM
    • ragnoroker: Brand New RSPS - Unique with Friendly laid back community - Join today - [link]
      January 14, 2020, 05:23:29 PM
    • ragnoroker: Brand New RSPS - Unique with Friendly laid back community - Join today - [link]
      January 14, 2020, 05:23:25 PM
    • hardcore22: become a member of scaperune! [link]
      January 14, 2020, 11:56:21 AM
    • hardcore22:[link] good old days
      January 14, 2020, 11:55:59 AM
    • hardcore22:[link] join now!
      January 14, 2020, 11:55:47 AM
    • hardcore22: scaperune [link]
      January 14, 2020, 11:54:03 AM
    • hardcore22: join [link] and enjoy the good old days! its awsome!
      January 14, 2020, 11:52:54 AM
    • Zukodens: Infinity-Pk Brand new 317 server just released ! ! Join here : [link]
      January 14, 2020, 11:51:05 AM
    • Zukodens:[link] Brand new server just released ! !
      January 14, 2020, 11:50:41 AM
    • Zukodens: hello guys
      January 14, 2020, 11:50:22 AM
    • asshole_rule: impossible
      January 12, 2020, 11:00:56 PM
    • ragnoroker: Join RuneGuild today! Brand new Server - just released a new minigame - play now [link]
      January 11, 2020, 01:57:04 PM

    Author Topic: (Array)Html5 Map? Is there any other way?  (Read 3034 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.

    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  :)

    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.
    ^
     |

    OfflineKamnarce

    • First Time Poster
    • *
    • Posts: 4
    • Thanks: +10/-10
      • View Profile
    Re: (Array)Html5 Map? Is there any other way?
    « Reply #10 on: August 10, 2019, 04:55:54 AM »
    will this copy career stats too, or just ratings?

    and when I create a new league file, there is no free agent pool, so what am I copying over?

     

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