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 - electruxck

Pages: [1]
1
omg lol now i get it >_< the caps 'D' was causing the issue... dammmmm lol THANKS GUYS :D sorry i coudnt understand.... but THANKS A LOTTTTT :D
All hail C++ & SFML and its awesome community :D

2
Graphics / Re: my path is correct but still cannot load the file
« on: April 20, 2015, 05:59:21 pm »
instead of jpeg, it should be jpg (no 'e')
hence,

if(!texture.loadFromFile("airplane.jpeg");
{
std::cout <<"error";
}

should be

if(!texture.loadFromFile("airplane.jpg");
{
std::cout <<"error";
}

3
ok yes i forgot the virtual keyword... i added it and got this error:
1>d:\visual studio 2010\projects\game_client\game_client\main.cpp(112): error C2259: 'WorldMap' : cannot instantiate abstract class
1>          due to following members:
1>          'void sf::Drawable::draw(sf::RenderTarget &,sf::RenderStates) const' : is abstract
1>          d:\c++ libraries\sfml-2.1\include\sfml\graphics\drawable.hpp(69) : see declaration of 'sf::Drawable::draw'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

i still cant understand you :/ i have a similar function (almost same lol) for another project which dont have any problem with this function :/ guys please help me....

4
wait... wat do u mean by typo? a grammatical error or a coding error? if coding, ik that according to c++ i cant create an object of a class which has virtual function... and i definitely dont expect to get codes from anyone... all i want to know if there is some sort of a get around outta this situation? plz dont b mad at me :(

5
ok.... in the source code or rest? and what is it?...

6
Graphics / Cant create a class object with inherited sf::drawable....
« on: April 20, 2015, 01:53:05 pm »
Hello everyone :)
i am new to forums and i am posting this thread because i have a problem...
the problem is that visual c++ 2010 express says i cant create an abstract object... i created a class (below) which inherits sf::drawable and uses virtual void draw()... function...
heres the source code of the class:
basically i am trying to create a game map...
class Tile:public sf::Drawable
{
        sf::Texture t;
        sf::Sprite s;
        int __walkable,__gate;
        virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const
        {
                target.draw(s,states);
        }
        public:
                void LoadTex(std::string __str)
                {
                        t.loadFromFile(__str);
                        s.setTexture(t);
                }
                void SetPos(sf::Vector2f __v)
                {
                        s.setPosition(__v);
                }
                void SetPos(float x,float y)
                {
                        s.setPosition(x,y);
                }
                void SetWalkable(int __w)
                {
                        __walkable = __w;
                }
                int GetWalkable()
                {
                        return __walkable;
                }
                void SetGate(int __g)
                {
                        __gate = __g;
                }
                int GetGate()
                {
                        return __gate;
                }
                sf::FloatRect GetRectBounds()
                {
                        return s.getGlobalBounds();
                }
};


class WorldMap:public sf::Drawable
{
        std::list<Tile> _map;
        std::string MapDB,mapfiles[3];
        void Draw(sf::RenderTarget& target, sf::RenderStates states) const
        {
                for(std::list<Tile>::const_iterator it = _map.begin();it != _map.end();it++)
                {
                        target.draw(*it,states);
                }
        }
        public:
                WorldMap()
                {
                        MapDB = "Assets/Maps/_map.db";
                }
                int LoadMap(int id)
                {
                        _map.clear();
                        Strings str;
                        sqlite3_stmt *stmt;
                        sqlite3 *db;
                        sqlite3_open(MapDB.c_str(),&db);
                        int i = 1,type,grid;
                        sf::Vector2f pos(35,35);
                        SetMapFiles(id);
                        while(true)
                        {
                                str = "SELECT * FROM Map";
                                str += id;
                                str += " WHERE id = ";
                                str += i;
                                res = sqlite3_prepare_v2(db,str.GetChar(),strlen(str.GetChar()),&stmt,NULL);
                                if(res != SQLITE_OK) break;
                                sqlite3_step(stmt);
                                type = sqlite3_column_int(stmt,0);
                                grid = sqlite3_column_int(stmt,1);
                                if(type == MAP_TYPE_WALKABLE)
                                {
                                        Tile tile;
                                        tile.SetPos(pos);
                                        tile.LoadTex(mapfiles[0]);
                                        tile.SetGate(0);
                                        tile.SetWalkable(1);
                                        tile.SetPos(pos.x*i,pos.y*grid);
                                        _map.push_back(tile);
                                }
                                if(type == MAP_TYPE_NON_WALKABLE)
                                {
                                        Tile tile;
                                        tile.SetPos(pos);
                                        tile.LoadTex(mapfiles[1]);
                                        tile.SetGate(0);
                                        tile.SetWalkable(0);
                                        tile.SetPos(pos.x*i,pos.y*grid);
                                        _map.push_back(tile);
                                }
                                if(type == MAP_TYPE_GATE)
                                {
                                        Tile tile;
                                        tile.SetPos(pos);
                                        tile.LoadTex(mapfiles[2]);
                                        tile.SetGate(1);
                                        tile.SetWalkable(1);
                                        tile.SetPos(pos.x*i,pos.y*grid);
                                        _map.push_back(tile);
                                }
                                i++;
                        }
                        return 1;
                }
                void SetMapFiles(int id)
                {
                        if(id == 1)
                        {
                                mapfiles[0] = "Assets/Maps/1-1.png";
                                mapfiles[1] = "Assets/Maps/1-2.png";
                                mapfiles[2] = "Assets/Maps/1-3.png";
                        }
                }
};
 

please help me... if u need complete source code i can email you or something... but i would like to not give out my source just yet :) thanks :D
regards, elec

Pages: [1]