Welcome, Guest. Please login or register. Did you miss your activation email?

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - UchihaKite

Pages: 1 2 [3]
31
General / Re: [Q] Proper way to slow down a Sprite during movement?
« on: May 11, 2016, 10:12:33 pm »
Hello!

Thank you for the reply and the suggestion. Luckily I have a school job, so it gives me a lot of time in front of the computer. I'll be sure to implement your suggestions and let you know how it goes :)

Currently I go to the Art Institute, but my teacher, Keith, thought it would be a good idea to introduce us to SFML, and since he is a programmer for Overwatch I am willing to learn anything he suggests lol

32
General / Re: [Q] Proper way to slow down a Sprite during movement?
« on: May 10, 2016, 08:41:16 pm »
Thank you for the reply! I thought I would get an email notification if I got a reply, so I apologize for the delayed response. I'm still extremely new to all of this, so in terms of your short answer, how would I go about doing that? I have changed my code around, however it is basically the same. The only problems I have now, are when I change directions, the sprite moves, but doesn't start his animation rotation for about a second.

Typically I would use a function to make everything easier, how my teacher told us to do this without the use of functions >.< He provided us a video of his final product, and mine is basically the same, aside from the issue I stated above, and when he moves diagonally the sprite plays the left/right movement animation.

I apologize for my noobness, normally with C++ I am able to figure things out on my own, but he kind of randomly dropped SFML on us and I am a little lost.

33
General / [Q] Proper way to slow down a Sprite during movement?
« on: May 08, 2016, 12:03:59 am »
Good Afternoon,
I have experience in C++, however, I am very new with SFML. I managed to get a sprite on the screen, with the ability to not only move, but to go through the proper animations well in movement. My issue though, is the sprite itself isn't move too fast, but the animation of his movement is moving way to quickly. If that makes sense. Provided below is my code. I apologize if I put this up incorrectly, first time posting on here. Normally I am able to figure things out on my own, but I cannot seem to figure this one out.

#include "stdafx.h"
#include <SFML/Graphics.hpp>
#include <iostream>

using namespace std;

int main()
{

        int rLinkX = 0;
        int rLinkY = 3;
        int rIdle = 0;

        int lLinkX = 0;
        int lLinkY = 2;
        int lIdle = 0;

        int upLinkX = 0;
        int upLinkY = 1;
        int upIdle = 0;

        int dwnLinkX = 0;
        int dwnLinkY = 0;
        int dwnIdle = 0;

        sf::RenderWindow window(sf::VideoMode(1024, 512), "Welcome to SDVA 203!");

        sf::CircleShape shape(75.f);
        shape.setPosition(200, 200);

        window.setMouseCursorVisible(false);

        sf::Texture texture;
        if (!texture.loadFromFile("Content/Crosshair.png"))
        {
                cout << "Could not find image." << endl; // error...
        }
        shape.setTexture(&texture);

        sf::Sprite sprite;
       
        sf::Texture linkTexture;
        if (!linkTexture.loadFromFile("Content/zelda.png", sf::IntRect(0 * 40, 0 * 40, 40, 40)))
        {
                cout << "Could not find image." << endl; // error...
        }
        sprite.setTexture(linkTexture);

        while (window.isOpen())
        {
                sf::Event event;
                while (window.pollEvent(event))
                {
               
                        if (event.type == sf::Event::KeyPressed)
                        {
                                if (event.key.code == sf::Keyboard::Escape)
                                {
                                        window.close();
                                }

                                if (event.key.code == sf::Keyboard::Left)
                                {
                                        lIdle = 0;
                                        rIdle = 0;
                                        upIdle = 0;
                                        dwnIdle = 0;
                                        cout << "The Left Arrow Key Was Pressed" << endl;
                                        sprite.setTextureRect(sf::IntRect(lLinkX * 40, lLinkY * 40, 40, 40));
                                        if (!linkTexture.loadFromFile("Content/zelda.png"))
                                        {
                                                // error...
                                        }
                                        sprite.setTexture(linkTexture);
                                        sprite.move(-5, 0);
                                }
                                if (event.key.code == sf::Keyboard::Right)
                                {
                                        lIdle = 0;
                                        rIdle = 0;
                                        upIdle = 0;
                                        dwnIdle = 0;
                                        cout << "The Right Arrow Key Was Pressed" << endl;
                                        sprite.setTextureRect(sf::IntRect(rLinkX * 40, rLinkY * 40, 40, 40));
                                        if (!linkTexture.loadFromFile("Content/zelda.png"))
                                        {
                                                // error...
                                        }
                                        sprite.setTexture(linkTexture);
                                        sprite.move(5, 0);
                                }
                                if (event.key.code == sf::Keyboard::Up)
                                {
                                        lIdle = 0;
                                        rIdle = 0;
                                        upIdle = 0;
                                        dwnIdle = 0;
                                        cout << "The Up Arrow Key Was Pressed" << endl;
                                        sprite.setTextureRect(sf::IntRect(upLinkX * 40, upLinkY * 40, 40, 40));
                                        if (!linkTexture.loadFromFile("Content/zelda.png"))
                                        {
                                                // error...
                                        }
                                        sprite.setTexture(linkTexture);
                                        sprite.move(0, -5);
                                }
                                if (event.key.code == sf::Keyboard::Down)
                                {
                                        lIdle = 0;
                                        rIdle = 0;
                                        upIdle = 0;
                                        dwnIdle = 0;
                                        cout << "The Down Arrow Key Was Pressed" << endl;
                                        sprite.setTextureRect(sf::IntRect(dwnLinkX * 40, dwnLinkY * 40, 40, 40));
                                        if (!linkTexture.loadFromFile("Content/zelda.png"))
                                        {
                                                // error...
                                        }
                                        sprite.setTexture(linkTexture);
                                        sprite.move(0, 5);
                                }

                        }

                        if (event.type == sf::Event::KeyReleased)
                        {
                                if (event.key.code == sf::Keyboard::Right)
                                {
                                        rIdle = 1;
                                }

                                if (event.key.code == sf::Keyboard::Left)
                                {
                                        lIdle = 1;
                                }

                                if (event.key.code == sf::Keyboard::Up)
                                {
                                        upIdle = 1;
                                }

                                if (event.key.code == sf::Keyboard::Down)
                                {
                                        dwnIdle = 1;
                                }
                        }

                                if (event.type == sf::Event::MouseButtonPressed)
                                {
                                        if (event.mouseButton.button == sf::Mouse::Right)
                                        {
                                                std::cout << "the right button was pressed" << std::endl;
                                               
                                        }
                                }
                               

                                if (event.type == sf::Event::MouseWheelScrolled)
                                {
                                        if (event.mouseWheelScroll.wheel == sf::Mouse::VerticalWheel)
                                                std::cout << "wheel type: vertical" << std::endl;
                                        std::cout << "wheel movement: " << event.mouseWheelScroll.delta << std::endl;
                                        std::cout << "mouse x: " << event.mouseWheelScroll.x << std::endl;
                                        std::cout << "mouse y: " << event.mouseWheelScroll.y << std::endl;

                                        if (event.mouseWheelScroll.delta == 1)
                                        {
                                                shape.scale(1.8, 1.8);
                                        }
                                        else if (event.mouseWheelScroll.delta == -1)
                                        {
                                                shape.scale(.8, .8);
                                        }
                                }
                }


                if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
                {
                        cout << "Left Arrow" << endl;

                                lLinkX++;
                                if (lLinkX >= 7)
                                {
                                        lLinkX = 0;
                                }
                }

                if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
                {
                        cout << "Right Arrow" << endl;
                        rLinkX++;
                        if (rLinkX >= 7)
                        {
                                rLinkX = 0;
                        }
                }

                if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down))
                {
                        cout << "Left Arrow" << endl;
                        dwnLinkX++;
                        if (dwnLinkX >= 7)
                        {
                                dwnLinkX = 0;
                        }
                }

                if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
                {
                        cout << "Right Arrow" << endl;
                        upLinkX++;
                        if (upLinkX >= 7)
                        {
                                upLinkX = 0;
                        }
                }

                if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
                {
                        shape.setPosition(sf::Mouse::getPosition(window).x, sf::Mouse::getPosition(window).y);
                }

                if (rIdle == 1)
                {
                        sprite.setTextureRect(sf::IntRect(rLinkX * 40, rLinkY * 40, 40, 40));
                        if (!linkTexture.loadFromFile("Content/zelda.png"))
                        {
                                // error...
                        }
                        sprite.setTexture(linkTexture);
                        rLinkX++;
                        if (rLinkX >= 7)
                        {
                                rLinkX = 0;
                        }
                }

                if (lIdle == 1)
                {
                        sprite.setTextureRect(sf::IntRect(lLinkX * 40, lLinkY * 40, 40, 40));
                        if (!linkTexture.loadFromFile("Content/zelda.png"))
                        {
                                // error...
                        }
                        sprite.setTexture(linkTexture);

                                lLinkX++;
                                if (lLinkX >= 7)
                                {
                                        lLinkX = 0;
                                }

                }

                if (upIdle == 1)
                {
                        sprite.setTextureRect(sf::IntRect(upLinkX * 40, upLinkY * 40, 40, 40));
                        if (!linkTexture.loadFromFile("Content/zelda.png"))
                        {
                                // error...
                        }
                        sprite.setTexture(linkTexture);
                        upLinkX++;
                        if (upLinkX >= 7)
                        {
                                upLinkX = 0;
                        }
                }

                if (dwnIdle == 1)
                {
                        sprite.setTextureRect(sf::IntRect(dwnLinkX * 40, dwnLinkY * 40, 40, 40));
                        if (!linkTexture.loadFromFile("Content/zelda.png"))
                        {
                                // error...
                        }
                        sprite.setTexture(linkTexture);
                        dwnLinkX++;
                        if (dwnLinkX >= 7)
                        {
                                dwnLinkX = 0;
                        }
                }

                shape.setOrigin(75, 75);
                window.clear();
                window.draw(shape);
                window.draw(sprite);
                window.display();

        }

        return 0;
}
 

Pages: 1 2 [3]