Navigation

    Fuze Arena Logo
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Help
    • Discord

    Map Locations Demo

    Coding
    5
    28
    1318
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • waldron
      waldron F @pianofire last edited by

      @pianofire just downloaded the game screen demo very helpful also the map location one, how would i change the setspritetext to a sprite image?

      pianofire 1 Reply Last reply Reply Quote 0
      • pianofire
        pianofire Fuze Team @waldron last edited by pianofire

        @waldron

        locs = getMapLocationNames()
        image = loadImage( "Untied Games/Creeper", 0 )
        for i = 0 to len( locs ) loop
            sprites[ i ] = createSprite( )
            loc = getMapLocation( locs[ i ] )
            setSpriteLocation( sprites[ i ], loc ) 
            setSpriteImage( sprites[ i ], image )
        repeat    
        
        waldron 1 Reply Last reply Reply Quote 3
        • waldron
          waldron F @pianofire last edited by

          @pianofire cheers i was close i did try thankyou

          1 Reply Last reply Reply Quote 1
          • SteveZX81
            SteveZX81 F last edited by

            This is great! Thanks

            1 Reply Last reply Reply Quote 1
            • pianofire
              pianofire Fuze Team last edited by

              Just something that came up with this. You need to give your locations unique names otherwise you will get things appearing in the same location. If you want to have locations with different types you can just add a sequential number on the end e.g. tree01, tree02 etc and rock01, rock02. Then to find the type of a location you can use strBeginsWIth e.g. if strBeginsWith(locs[i], "tree") then

              1 Reply Last reply Reply Quote 3
              • Spacemario
                Spacemario F last edited by Spacemario

                @pianofire, @waldron Have you-- or anyone else really-- tried this with the latest patch? I have essentially your exact code:

                • One third of the time it works: my sprite is showing up in the game world, at the correct spot.
                • One third of the time I get a run-time error "Incorrect type struct for parameter one: expected string" on the "getMapLocation()" call.
                • One third of the time Fuze crashes (the Switch's OS-level "quits unexpectedly" error we're all familiar with).

                This is the first time I've ever used map locations, so I can't say whether it worked before the patch. I don't think it's a problem with my code: I'm almost verbatim using your above snippet. I'll go take another look to be sure.

                Thanks in advance!

                waldron 1 Reply Last reply Reply Quote 1
                • waldron
                  waldron F @Spacemario last edited by waldron

                  @Spacemario glad you mentioned it, all my games with this code crashes fuze post patch no error code nothing if i comment out the namemaparea code my program runs or if I leave it in and comment out collidemap it runs so I think there is a problem with namemaparea() and collidemap() running together. I'v had to resort to using collidemaparea instead which sucks as a sprite collides with it and doesn't pass through it.

                  Spacemario 1 Reply Last reply Reply Quote 1
                  • Spacemario
                    Spacemario F @waldron last edited by

                    @waldron Fascinating, thanks for bringing this up! We'll let @pianofire chime in, but it sounds like a bug may have been introduced into the latest Fuze patch related to the map-related functions, since we're both experiencing similar issues in two completely different programs.

                    waldron 1 Reply Last reply Reply Quote 1
                    • waldron
                      waldron F @Spacemario last edited by

                      @Spacemario yeah I did mention it but I'm always in 2 minds with issues like this as I'm never sure if it's the way I code or fuze but all my games with this code now crash and I have been experiencing lots of graphical glitches but again not sure if it's down to my code although I haven't had them before the patch.

                      1 Reply Last reply Reply Quote 0
                      • waldron
                        waldron F last edited by

                        just realized this is getmaplocation where as my problems have been with namemaparea so maybe maps in general and locations have gone a bit pete tong

                        Spacemario 1 Reply Last reply Reply Quote 0
                        • Spacemario
                          Spacemario F @waldron last edited by

                          @waldron I bet "under the hood", these different map functions share a lot of the same code-- so there may be some kind of memory or pointer-related bug, which is impacting multiple map functions.

                          For now, I've gone back to defining all of my actors in a giant array like I did for "Skatey-Cat": I was really hoping to avoid that approach and use map markers this time, but doesn't look like that'll be possible.

                          Oh well, it was a nice idea anyway :)

                          waldron 1 Reply Last reply Reply Quote 1
                          • waldron
                            waldron F @Spacemario last edited by

                            @Spacemario i'l have a test later maybe the spritecamera map position patch has caused it as was working fine before il create a test program later and share it in hopes there is a workaround or at least the true cause

                            1 Reply Last reply Reply Quote 0
                            • waldron
                              waldron F last edited by

                              Found the cause ! I had areaNames = getmapareanames() in the main loop which worked before the patch so I'v moved that part outside the loop and now works without crashing

                              1 Reply Last reply Reply Quote 0
                              • waldron
                                waldron F last edited by

                                I'v tried the sprite placement code but not really used it before so I was unable to test that

                                pianofire 1 Reply Last reply Reply Quote 0
                                • pianofire
                                  pianofire Fuze Team @waldron last edited by

                                  @waldron When you say "in the main loop" do you mean not inside a function?

                                  1 Reply Last reply Reply Quote 0
                                  • waldron
                                    waldron F last edited by

                                    in my case with the namemapareacode i had
                                    areaNames = getmapareanames()
                                    with the for loop code in the main loop
                                    in my test program iv not put it into a function and it crashes.
                                    if i put the areaNames = getmapareanames() outside the main loop it runs as expected.
                                    in my other programs the results are 50/50 where i do store that code in a function they either run fine or crash .
                                    do i need to reference these or ? confused as my code hasn't changed but since the patch that piece of code crashes the system.

                                    pianofire 1 Reply Last reply Reply Quote 0
                                    • pianofire
                                      pianofire Fuze Team @waldron last edited by

                                      @waldron No it definitely shouldn't be crashing. I have raised an issue for this

                                      waldron 1 Reply Last reply Reply Quote 0
                                      • waldron
                                        waldron F @pianofire last edited by

                                        @pianofire thanks been driving me bonkers haha if i comment out the collidemap() it doesn't crash so i think its as spacemario describes above.

                                        1 Reply Last reply Reply Quote 1
                                        • waldron
                                          waldron F last edited by

                                          just one last one with this, after testing the namemaparea() that was causing crashes this also caused crashes with my other programs where they would just crash when i run them at random with some with scary graphical glitches.
                                          so last night i didn't test that piece of code and my other programs didn't crash anymore :) currently using detectmapcollision instead as a workaround.

                                          Spacemario 1 Reply Last reply Reply Quote 0
                                          • Spacemario
                                            Spacemario F @waldron last edited by

                                            @waldron One thing I may resort to is loading every one of my game's maps before the main loop even begins, and populating my actor arrays that way.

                                            It's contrary to the way my "engine" works-- which loads "assets" on-demand when levels are swapped-- but the Switch has so much RAM for the kinds of games we make in Fuze, that holding the entirety of the actors in memory the entire time the game is running should be no big deal.

                                            If I make that change, I'll post here whether or not it works around the crashing.

                                            1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post