How to load textures from a spritesheet in Godot 3












0















I've just got started with Godot yesterday, and I'm starting a game. I drew a few spritesheets for it. It seems much more efficient to pack all of the frames of an animation into a single image file, right?



Anyway, in Godot I have an AnimatedSprite, who of course has a SpriteFrames property, or whatever it's called. I want to split my spritesheet up into multiple images so that I can use each image as a separate frame in the animation, but as far as I can see Godot provides no such feature. Is this the case?



I've been searching for an answer on the web for a while now, and I can't find anything relevant.



I'd be very surprised if I can't do this in Godot, since I can do it in just about every other game engine I've seen.



Thanks!



(Just to clarify, I want to (programmatically or otherwise,) split a spritesheet into multiple textures, within Godot.)










share|improve this question



























    0















    I've just got started with Godot yesterday, and I'm starting a game. I drew a few spritesheets for it. It seems much more efficient to pack all of the frames of an animation into a single image file, right?



    Anyway, in Godot I have an AnimatedSprite, who of course has a SpriteFrames property, or whatever it's called. I want to split my spritesheet up into multiple images so that I can use each image as a separate frame in the animation, but as far as I can see Godot provides no such feature. Is this the case?



    I've been searching for an answer on the web for a while now, and I can't find anything relevant.



    I'd be very surprised if I can't do this in Godot, since I can do it in just about every other game engine I've seen.



    Thanks!



    (Just to clarify, I want to (programmatically or otherwise,) split a spritesheet into multiple textures, within Godot.)










    share|improve this question

























      0












      0








      0








      I've just got started with Godot yesterday, and I'm starting a game. I drew a few spritesheets for it. It seems much more efficient to pack all of the frames of an animation into a single image file, right?



      Anyway, in Godot I have an AnimatedSprite, who of course has a SpriteFrames property, or whatever it's called. I want to split my spritesheet up into multiple images so that I can use each image as a separate frame in the animation, but as far as I can see Godot provides no such feature. Is this the case?



      I've been searching for an answer on the web for a while now, and I can't find anything relevant.



      I'd be very surprised if I can't do this in Godot, since I can do it in just about every other game engine I've seen.



      Thanks!



      (Just to clarify, I want to (programmatically or otherwise,) split a spritesheet into multiple textures, within Godot.)










      share|improve this question














      I've just got started with Godot yesterday, and I'm starting a game. I drew a few spritesheets for it. It seems much more efficient to pack all of the frames of an animation into a single image file, right?



      Anyway, in Godot I have an AnimatedSprite, who of course has a SpriteFrames property, or whatever it's called. I want to split my spritesheet up into multiple images so that I can use each image as a separate frame in the animation, but as far as I can see Godot provides no such feature. Is this the case?



      I've been searching for an answer on the web for a while now, and I can't find anything relevant.



      I'd be very surprised if I can't do this in Godot, since I can do it in just about every other game engine I've seen.



      Thanks!



      (Just to clarify, I want to (programmatically or otherwise,) split a spritesheet into multiple textures, within Godot.)







      godot






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 18 '18 at 14:01









      Jacob GarbyJacob Garby

      35229




      35229
























          1 Answer
          1






          active

          oldest

          votes


















          0














          As it says: "Sprite node that can use multiple textures for animation."
          Source: http://docs.godotengine.org/en/3.0/classes/class_animatedsprite.html



          What you are searching for is using normal Sprite(2D), and set regions for it if you are using AnimationPlayer at each frame.
          Example: https://www.youtube.com/watch?v=IGHcscKpA7Y



          If you want to do all programmically, you just have to set the sprite to Sprite(2D), and then:



          func _ready(): 
          set_region(true)
          set_region_rect(Rect2(positionx,positiony,width,height))


          but i guess using AnimationPlayer is better option.



          This is not tested because i should be sleeping right now, but it should work.






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53361716%2fhow-to-load-textures-from-a-spritesheet-in-godot-3%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            As it says: "Sprite node that can use multiple textures for animation."
            Source: http://docs.godotengine.org/en/3.0/classes/class_animatedsprite.html



            What you are searching for is using normal Sprite(2D), and set regions for it if you are using AnimationPlayer at each frame.
            Example: https://www.youtube.com/watch?v=IGHcscKpA7Y



            If you want to do all programmically, you just have to set the sprite to Sprite(2D), and then:



            func _ready(): 
            set_region(true)
            set_region_rect(Rect2(positionx,positiony,width,height))


            but i guess using AnimationPlayer is better option.



            This is not tested because i should be sleeping right now, but it should work.






            share|improve this answer




























              0














              As it says: "Sprite node that can use multiple textures for animation."
              Source: http://docs.godotengine.org/en/3.0/classes/class_animatedsprite.html



              What you are searching for is using normal Sprite(2D), and set regions for it if you are using AnimationPlayer at each frame.
              Example: https://www.youtube.com/watch?v=IGHcscKpA7Y



              If you want to do all programmically, you just have to set the sprite to Sprite(2D), and then:



              func _ready(): 
              set_region(true)
              set_region_rect(Rect2(positionx,positiony,width,height))


              but i guess using AnimationPlayer is better option.



              This is not tested because i should be sleeping right now, but it should work.






              share|improve this answer


























                0












                0








                0







                As it says: "Sprite node that can use multiple textures for animation."
                Source: http://docs.godotengine.org/en/3.0/classes/class_animatedsprite.html



                What you are searching for is using normal Sprite(2D), and set regions for it if you are using AnimationPlayer at each frame.
                Example: https://www.youtube.com/watch?v=IGHcscKpA7Y



                If you want to do all programmically, you just have to set the sprite to Sprite(2D), and then:



                func _ready(): 
                set_region(true)
                set_region_rect(Rect2(positionx,positiony,width,height))


                but i guess using AnimationPlayer is better option.



                This is not tested because i should be sleeping right now, but it should work.






                share|improve this answer













                As it says: "Sprite node that can use multiple textures for animation."
                Source: http://docs.godotengine.org/en/3.0/classes/class_animatedsprite.html



                What you are searching for is using normal Sprite(2D), and set regions for it if you are using AnimationPlayer at each frame.
                Example: https://www.youtube.com/watch?v=IGHcscKpA7Y



                If you want to do all programmically, you just have to set the sprite to Sprite(2D), and then:



                func _ready(): 
                set_region(true)
                set_region_rect(Rect2(positionx,positiony,width,height))


                but i guess using AnimationPlayer is better option.



                This is not tested because i should be sleeping right now, but it should work.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 18 '18 at 22:55









                Rafał MichałuszekRafał Michałuszek

                665




                665






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53361716%2fhow-to-load-textures-from-a-spritesheet-in-godot-3%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    這個網誌中的熱門文章

                    Xamarin.form Move up view when keyboard appear

                    Post-Redirect-Get with Spring WebFlux and Thymeleaf

                    Anylogic : not able to use stopDelay()