Welcome, guest! Please login or register.

    * Shoutbox

    RefreshHistory
    • Cole1497: join horney scape we are horney all the time and have a sex emote
      November 09, 2019, 05:14:33 PM
    • thewraith500: try autoscape,0rg brand new osrs CUSTOMS server! fight caves for flaming fire cape, upgrade them to infernal wings + more!
      November 09, 2019, 01:37:29 AM
    • SuperNativeZ: Come play brand new server [link]
      November 08, 2019, 02:13:24 PM
    • SuperNativeZ: Come play brand new server [link]
      November 08, 2019, 02:13:17 PM
    • SuperNativeZ: Come play brand new server [link]
      November 08, 2019, 02:13:14 PM
    • ragnoroker: Brand new server, come join the fun - unique server - RuneGuild - [link]
      November 07, 2019, 11:55:44 AM
    • ragnoroker: Brand new server, come join the fun - unique server - RuneGuild - [link]
      November 07, 2019, 11:55:40 AM
    • ragnoroker: Brand new server, come join the fun - unique server - RuneGuild - [link]
      November 07, 2019, 11:55:35 AM
    • ArtexAdv: Come play brand new server [link]
      November 07, 2019, 07:36:34 AM
    • grefin::cool:
      November 04, 2019, 12:55:57 AM
    • grefin: Hi friends! I cant get through that bank pin thing. What should i do my friends?
      November 04, 2019, 12:55:36 AM
    • cows1471: its weird
      November 03, 2019, 02:56:40 PM
    • cows1471: fudge me
      November 03, 2019, 02:56:34 PM
    • cows1471: my original account is 11 years ago
      November 03, 2019, 02:56:26 PM
    • cows1471: and yet
      November 03, 2019, 02:56:14 PM
    • Christmas_tree: this place has changed
      November 03, 2019, 02:54:34 PM
    • Christmas_tree: fudge me
      November 03, 2019, 02:54:25 PM
    • Christmas_tree: six years ago i registered this account
      November 03, 2019, 02:54:22 PM
    • thewraith500: everyone join autoscape,0rg its the best customs osrs server yet! the owner gives ultra boxes!
      October 28, 2019, 08:03:09 PM
    • gameruler93: I am so fudgeing glad to see this website is still alive.
      October 28, 2019, 07:57:18 PM

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