Форум программистов, компьютерный форум CyberForum.ru

Ошибка C2661 с RectangleShape в Марио на C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не пойму как работает char http://www.cyberforum.ru/cpp-beginners/thread1505170.html
Выдает не символ, а сивол и число!!Это я уже пробую явное приведение. Кто поопытней, поясните!! #include<iostream> #include<conio.h> using namespace std; int a=218; char b=192; char c=217; char d=191; char l=196; char w=179;
C++ Состоит ли число из одинаковых цифр? Здраствуйте, помогите пожалуйста написать программу Данно натуральное число N. Используя только элементарные арифметические операции (+, —, *, /) выяснить, верно ли, что это число содержит все одинаковые цифры, как например 555, 44 и т.п. http://www.cyberforum.ru/cpp-beginners/thread1505158.html
C++ Собрать программу без Visual Studio
Здравствуйте, вот возник вопрос, суть в сабже. В чем сам вопрос, поясняю. К примеру есть программа: int main() { cout <<"blabla"; } Ну как пример. Как сделать так чтобы без использования студии поменять в программе строку вывода? то есть к примеру я в одной программе ввел в поле "abrakadabra" и оно заменило или собрало заново программу с выводом строки и выводом моего слова.
C++ Как открыть конкретный excel-файл?
Нужно получить доступ к уже готовому excel-файлу. Пользуюсь FindExecutable и ShellExecute, ввожу путь к нужному файлу, но при запуске просто открывается Excel-приложение с чистой книгой. Код: #include <vcl.h> #include "windows.h" #include <vcl\excel_xp.h> #include "ShellAPI.h" int main(){ char ap; FindExecutable("word_base.xlsx",NULL,ap); ShellExecute(NULL,"open",ap,NULL,NULL,SW_RESTORE);...
C++ Как из файла записать в вектор? http://www.cyberforum.ru/cpp-beginners/thread1505147.html
есть от такая программа в файл вроде пишет а вот придумать как извлечь в вектор не могу ( , подскажите как ето можно сделать или киньте ссылку где можно подробно почитать const int len = 50; class Peopl { protected: char name; short age; public:
C++ Куда двигаться дальше(литература)? Заканчиваю читать книгу Дирк Хенкеманс, Марк Ли "Программирование на C++" и собственно вопрос, что дальше? Еще взял параллельно почитать Э.Таненбаума "Архитектура компьютера", незнаю насколько полезно? подробнее

Показать сообщение отдельно
R_User
0 / 0 / 0
Регистрация: 06.07.2015
Сообщений: 7
26.07.2015, 14:35     Ошибка C2661 с RectangleShape в Марио на C++
Код был написан по туториалу с этого видео - http://www.youtube.com/watch?v=6OHMFwQK44k. SFML подключил с помощью инструкции отсюда - http://kychka-pc.ru/sfml/urok-1-podk...udio-2013.html.

Видеоурок.

Переписанный под диктовку код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <SFML/Graphics.hpp>
 
using namespace sf;
 
int ground = 400;
 
const int H = 12;
const int W = 40;
 
String TileMap[H] = {
 
    "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB",
    "B                         B     B",
    "B                         B     B",
    "B                         B     B",
    "B                         B     B",
    "B      0000           BBBBB     B",
    "BBB                       B     B",
    "B           BB            BB    B",
    "B           BB                  B",
    "B           BB     BB           B",
    "BBBBBB    BBBBBBBBBBBBBBBBBBBBBBB",
 
};
 
class PLAYER {
 
public:
 
    float dx, dy;
    FloatRect rect;
    bool onGround;
    Sprite sprite;
    float currentFrame;
    
    PLAYER(Texture &image)
    {
        sprite.setTexture(image);
        rect = FloatRect(7*32,9*32,40,50);
 
        dx = dy = 0.1;
        currentFrame = 0;
    }
 
    void update(float time)
    {
        rect.left += dx * time;
        if (!onGround) dy = dy + 0.0005*time;
        rect.top += dy*time;
        onGround = false;
        if (rect.top > ground) { rect.top = ground; dy = 0; onGround = true; }
        
        currentFrame += 0.005*time;
        if (currentFrame > 6) currentFrame -= 6;
        
        if (dx > 0) sprite.setTextureRect(IntRect(40 * Int16(currentFrame), 244, 40, 50));
        if (dx < 0) sprite.setTextureRect(IntRect(40 * Int16(currentFrame)+40, 244, -40, 50));
 
        sprite.setPosition(rect.left, rect.top);
    
        dx = 0;
    }
};
 
int main()
{
    RenderWindow window(VideoMode(600, 450), "Test!");
 
    Texture t;
    t.loadFromFile("fang.png");
 
    float currentFrame = 0;
 
    PLAYER p(t);
 
    Clock clock;
 
    RectangleShape rectangle(32,32);
 
    while (window.isOpen())
    {
        float Time = clock.getElapsedTime().asMicroseconds();
        clock.restart();
 
        Time = Time / 700;
 
        Event event;
        while (window.pollEvent(event))
        {
            if (event.type == Event::Closed)
                window.close();
        }
 
        if (Keyboard::isKeyPressed(Keyboard::Left))
        {
            p.dx = -0.1;
 
        }
 
        if (Keyboard::isKeyPressed(Keyboard::Right))
        {
            p.dx = 0.1;
        }
 
        if (Keyboard::isKeyPressed(Keyboard::Up))
        {
            if (p.onGround) { p.dy = -0.35; p.onGround = false; }
        }
 
        p.update(Time);
 
        window.clear(Color::White);
 
        for (int i = 0; i < H; i++)
            for (int j = 0; j < W; j++)
            {
                if (TileMap[i][j] == 'B') rectangle.setFillColor(Color::Black);
                if (TileMap[i][j] == '0') rectangle.setFillColor(Color::Green);
                if (TileMap[i][j] == ' ') continue;
 
                rectangle.setPosition(j * 32, i * 32);
                window.draw(rectangle);
            }
 
        window.draw(p.sprite);
        window.display();
    }
 
    return 0;
}

До момента "8:54 - 9:53" с видеоурока код работал нормально, но строка #78 с RectangleShape выдала ошибку и ее замены на перечисленные ниже не помогли и, либо вызывали больше ошибок (в других строках), либо выводили окно с надписью "Debug Assertion Failed! Expression: string subscript out of range".

Описание основной ошибки.
Error C2661: sf::RectangleShape::RectangleShape: нет перегруженной функции, принимающей 2 аргументов.

IntelliSense: отсутствуют экземпляры конструктора "sf::RectangleShape::RectangleShape", соответствующие списку аргументов
(типы аргументов: (int, int)).

Неудачные варианты замены строки, взятые с этого же форума.
RectangleShape rectangle;
RectangleShape rectangle(sf::Vector2f(32.0f,32.0f));
RectangleShape rectangle();

Как починить это?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru