Выбивает такую ошибку( Ошибка 2 error C3861: move: идентификатор не найден )

SFML и C++ Уроки \ Разработка игр Форумы SFML Graphics Выбивает такую ошибку( Ошибка 2 error C3861: move: идентификатор не найден )

В этой теме 14 ответов, 3 участника, последнее обновление Anya Anya 5 мес., 3 нед. назад.

Просмотр 15 сообщений - с 1 по 15 (из 15 всего)
  • Автор
    Сообщения
  • #3898

    Artem Moskalik
    Участник
    Сообщений:13

    Зарегистрирован:
    06.06.2016

    Репутация:1

    Выбивает такую ошибку( Ошибка 2 error C3861: move: идентификатор не найден )

    в чем моя ошибка?

    #3899

    Artem Moskalik
    Участник
    Сообщений:13

    Зарегистрирован:
    06.06.2016

    Репутация:1

    #include <SFML/Graphics.hpp>
    #include <stdio.h>
    #include <time.h>

    //float Rotation = 0;

    using namespace sf;

    int main()
    {
    srand(time(NULL));
    //Texture herotexture;
    //herotexture.loadFromFile(“D:/programka/zachet123/image/111.png”);

    //Sprite herosprite;
    // herosprite.setTexture(herotexture);
    // herosprite.setTextureRect(IntRect(0, 0, 132, 133));
    // herosprite.setPosition(350,330);
    // //herosprite.setPosition(415, 390);
    // //herosprite.setPosition(205, 200);
    // herosprite.setRotation(0);

    sf::RenderWindow window(sf::VideoMode(800, 800), “SUN”);
    RectangleShape rectamble(Vector2f(500000, 500000));
    rectamble.setFillColor(Color(255, 165, 0));
    Texture herotexture2;
    herotexture2.loadFromFile(“D:/programka/zachet123/image/333.png”);

    Sprite herosprite2;
    herosprite2.setTexture(herotexture2);
    herosprite2.setTextureRect(IntRect(0, 0, 400, 400));
    herosprite2.setPosition(0, 0);
    herosprite2.setRotation(0);

    int Part = 0;
    /*sf::ConvexShape convex;
    convex.setFillColor(sf::Color::Yellow);
    convex.setPointCount(8);
    convex.setPoint(0, sf::Vector2f(142, 82));
    convex.setPoint(1, sf::Vector2f(260, 82));
    convex.setPoint(2, sf::Vector2f(320, 140));
    convex.setPoint(3, sf::Vector2f(320, 250));
    convex.setPoint(4, sf::Vector2f(262, 310));
    convex.setPoint(5, sf::Vector2f(154, 310));
    convex.setPoint(6, sf::Vector2f(100, 250));
    convex.setPoint(7, sf::Vector2f(100, 150));

    RectangleShape line(Vector2f(150, 10));
    line.rotate(45);
    line.setPosition(40, 20);
    line.setFillColor(Color::Yellow);

    RectangleShape line2(Vector2f(150, 10));
    line2.rotate(67);
    line2.setPosition(165, 10);
    line2.setFillColor(Color::Yellow);

    RectangleShape line3(Vector2f(150, 10));
    line3.rotate(95);
    line3.setPosition(240, 10);
    line3.setFillColor(Color::Yellow);

    RectangleShape line4(Vector2f(150, 10));
    line4.rotate(120);
    line4.setPosition(330, 20);
    line4.setFillColor(Color::Yellow);

    RectangleShape line5(Vector2f(150, 10));
    line5.rotate(167);
    line5.setPosition(390, 130);
    line5.setFillColor(Color::Yellow);

    RectangleShape line6(Vector2f(150, 10));
    line6.rotate(200);
    line6.setPosition(400, 250);
    line6.setFillColor(Color::Yellow);

    RectangleShape line7(Vector2f(150, 10));
    line7.rotate(230);
    line7.setPosition(350, 350);
    line7.setFillColor(Color::Yellow);

    RectangleShape line8(Vector2f(150, 10));
    line8.rotate(260);
    line8.setPosition(240, 390);
    line8.setFillColor(Color::Yellow);

    RectangleShape line9(Vector2f(150, 10));
    line9.rotate(290);
    line9.setPosition(140, 390);
    line9.setFillColor(Color::Yellow);

    RectangleShape line10(Vector2f(150, 10));
    line10.rotate(320);
    line10.setPosition(50, 350);
    line10.setFillColor(Color::Yellow);

    RectangleShape line11(Vector2f(150, 10));
    line11.rotate(350);
    line11.setPosition(10, 250);
    line11.setFillColor(Color::Yellow);

    RectangleShape line12(Vector2f(150, 10));
    line12.rotate(380);
    line12.setPosition(10, 130);
    line12.setFillColor(Color::Yellow);

    CircleShape square(10, 4);
    square.setFillColor(Color(0, 150, 0));
    square.setPosition(170, 150);

    CircleShape square2(10, 4);
    square2.setFillColor(Color(0, 150, 0));
    square2.setPosition(240, 150);

    sf::ConvexShape convex2;
    convex2.setFillColor(sf::Color::Red);
    convex2.setPointCount(3);
    convex2.setPoint(0, sf::Vector2f(170, 240));
    convex2.setPoint(1, sf::Vector2f(260, 240));
    convex2.setPoint(2, sf::Vector2f(215, 260));
    */
    while (window.isOpen())
    {

    sf::Event event;
    while (window.pollEvent(event))
    {
    if (event.type == sf::Event::Closed)
    window.close();
    }

    int X[4]{600, 600, 0, 0}, Y[4]{0, 600, 600, 0};
    switch (Part)
    {
    case 0:move(0.1, 0);
    if (herosprite2.getPosition().x == X[Part] && herosprite2.getPosition().y == Y[Part])Part++; break;
    case 1:move(0, 0.1);
    if (herosprite2.getPosition().x == X[Part] && herosprite2.getPosition().y == Y[Part])Part++; break;
    case 2:move(-0.1, 0);
    if (herosprite2.getPosition().x == X[Part] && herosprite2.getPosition().y == Y[Part])Part++; break;
    case 3:move(0, -0.1);
    if (herosprite2.getPosition().x == X[Part] && herosprite2.getPosition().y == Y[Part])Part = 0; break;
    }

    /*herosprite.rotate(Rotation);
    herosprite.setOrigin(66, 66);
    Rotation += 0.0005;

    herosprite2.rotate(Rotation);
    herosprite2.setOrigin(200, 200);
    Rotation += 0.0005;*/
    /*
    if ((Keyboard::isKeyPressed(Keyboard::Left)) || (Keyboard::isKeyPressed(Keyboard::A)))
    {
    herosprite.move(-0.1, 0);
    }

    if ((Keyboard::isKeyPressed(Keyboard::Right)) || (Keyboard::isKeyPressed(Keyboard::D)))
    {
    herosprite.move(0.1, 0);
    }

    if ( (Keyboard::isKeyPressed(Keyboard::Up)) || (Keyboard::isKeyPressed(Keyboard::W)))
    {
    herosprite.move(0, -0.1);
    }

    if ((Keyboard::isKeyPressed(Keyboard::Down)) || (Keyboard::isKeyPressed(Keyboard::S)))
    {
    herosprite.move(0, 0.1);
    }

    if ((Keyboard::isKeyPressed(Keyboard::Left)) || (Keyboard::isKeyPressed(Keyboard::A)))
    {
    herosprite2.move(-0.1, 0);
    }

    if ((Keyboard::isKeyPressed(Keyboard::Right)) || (Keyboard::isKeyPressed(Keyboard::D)))
    {
    herosprite2.move(0.1, 0);
    }

    if ((Keyboard::isKeyPressed(Keyboard::Up)) || (Keyboard::isKeyPressed(Keyboard::W)))
    {
    herosprite2.move(0, -0.1);
    }

    if ((Keyboard::isKeyPressed(Keyboard::Down)) || (Keyboard::isKeyPressed(Keyboard::S)))
    {
    herosprite2.move(0, 0.1);
    }*/
    window.clear();
    window.draw(rectamble);
    /*window.draw(convex);
    window.draw(line);
    window.draw(line2);
    window.draw(line3);
    window.draw(line4);
    window.draw(line5);
    window.draw(line6);
    window.draw(line7);
    window.draw(line8);
    window.draw(line9);
    window.draw(line10);
    window.draw(line11);
    window.draw(line12);*/
    /*window.draw(square);
    window.draw(square2);
    window.draw(convex2);*/
    window.draw(herosprite2);
    /*window.draw(herosprite);*/
    window.display();
    }

    return 0;
    }

    вот код

    #3900
    +1
    Anya
    Anya
    Участник
    Сообщений:7

    Зарегистрирован:
    09.06.2016

    Репутация:8

    Вероятно не подключил какой-то заголовочный файл, а может пытаешься вызываешь что-то за пределами области видимости, а может… кхм.

    Нажми при вставке “текст”, там будет “вставить код”, ну или вроде как иконка типа <>

    #3901
    +1
    Anya
    Anya
    Участник
    Сообщений:7

    Зарегистрирован:
    09.06.2016

    Репутация:8

    Как я понял, ты хочешь подвинуть что-то в кейсе, тут: case 0:move(0.1, 0);

    move это метод спрайта. Если перед точкой нет спрайта, компилятор не понимает что такое мув.

    #3902

    Artem Moskalik
    Участник
    Сообщений:13

    Зарегистрирован:
    06.06.2016

    Репутация:1

     

    #3904

    Artem Moskalik
    Участник
    Сообщений:13

    Зарегистрирован:
    06.06.2016

    Репутация:1

    я этим действием хотел сделать автоматическое передвижения по краям окна , если у вас есть по -проще решение этой задачи , буду превыше благодарен !!!

    #3905
    +1
    Anya
    Anya
    Участник
    Сообщений:7

    Зарегистрирован:
    09.06.2016

    Репутация:8

    Ошибку я тебе уже указал. Логика то у тебя верна. Конечно можно исправить код за тебя…

    Поступим так, лол. Этот код делает как ты возможно хочешь (если я правильно тебя понял), но только один круг.

     

    #3906
    +1
    LastikPro
    LastikPro
    Участник
    Сообщений:93

    Зарегистрирован:
    09.07.2015

    Репутация:57

    1) Нельзя создавать переменные в цикле.

    2) Проще просто некуда.

    #3907
    +1
    LastikPro
    LastikPro
    Участник
    Сообщений:93

    Зарегистрирован:
    09.07.2015

    Репутация:57

    А почему один ? В конце 4 етапа переменная Part обнуляеться.И зачем знак : “<=”,”>=” если у спрайта нету шанса покинуть пределы области ?

    #3908
    +1

    Artem Moskalik
    Участник
    Сообщений:13

    Зарегистрирован:
    06.06.2016

    Репутация:1

    Anya ты лучшая)))

    #3909

    Artem Moskalik
    Участник
    Сообщений:13

    Зарегистрирован:
    06.06.2016

    Репутация:1

    Спасибо вам обоим за прекрасную помощь

    #3910
    Anya
    Anya
    Участник
    Сообщений:7

    Зарегистрирован:
    09.06.2016

    Репутация:8

    Artem Moskalik кек, 00:00 и не поспоришь.

     

    LastikPro у меня на VS15 double 0.1 равняется чему-то вроде 0.10000000000056.

    #3918

    Artem Moskalik
    Участник
    Сообщений:13

    Зарегистрирован:
    06.06.2016

    Репутация:1

    а как зацеклировать это действие то оно только 1 раз проходит и всё?

     

    #3919
    LastikPro
    LastikPro
    Участник
    Сообщений:93

    Зарегистрирован:
    09.07.2015

    Репутация:57

    Так вроде зациклил или нет ?

    #3920
    Anya
    Anya
    Участник
    Сообщений:7

    Зарегистрирован:
    09.06.2016

    Репутация:8
Просмотр 15 сообщений - с 1 по 15 (из 15 всего)

Для ответа в этой теме необходимо авторизоваться.