Форум программистов, компьютерный форум, киберфорум
SFML
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/40: Рейтинг темы: голосов - 40, средняя оценка - 4.75
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1

SFML 2.0 Выбор случайного цвета

10.10.2013, 16:44. Показов 8792. Ответов 43
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Пытаюсь сделать так, чтобы в программе с применением SFML фигура изображалась случайным цветом. Делаю так:
C++
1
2
3
4
5
6
7
//array of colors for random selecting
const sf::Color colorArray[5]={sf::Color::Cyan, sf::Color::Blue, sf::Color::Green, sf::Color::Red, sf::Color::Yellow };
srand(time(NULL));
RectangleShape block(Vector2f(10, 10));
block.setFillColor(colorArray[rand()%5]);
block.setPosition(0, 0);
window.draw(block);
Но ничего, квадрат даже не изображается.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.10.2013, 16:44
Ответы с готовыми решениями:

Выбор случайного цвета для рисования
Можно ли каким-то образом случайно задавать цвет для заливки?

Выбор случайного цвета при рисовании объектов
prnt.DrawString("Н", nFont, Brushes.Red, 0, 0) меня интересует Brushes.Red как в это место вставить переменную, т.к. кроме Brushes.цвет...

Генерация случайного цвета
Здравствуйте! Помогите в среде pascal реализовать генерацию случайного цвета. Возможно ли это сделать? Задание. Сгенерировать новые...

43
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.10.2013, 18:38  [ТС]
Студворк — интернет-сервис помощи студентам
Работает без system("pause")
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 18:42
А с system("pause")? Код покажите, который сейчас пробуете.
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.10.2013, 18:51  [ТС]
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
int main()
{
    Color colorArray[6] = {Color::White, Color::Red, Color::Green, Color::Blue, Color::Magenta, Color::Cyan};
    
    srand(time(NULL));
    RenderWindow window(VideoMode(600, 400), "Blocks");
    RectangleShape block(Vector2f(156, 156));
    block.setFillColor(colorArray[rand()%6]);
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
 
       window.clear();
       block.setPosition(0, 0);
       window.draw(block);
       window.display();
    }
    //system("pause");
    return 0;
 
}
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 19:12
Код нужно полностью выкладывать. С самого верха и до самого низа. И на вопросы не отвечаете:
Цитата Сообщение от alsav22 Посмотреть сообщение
А с system("pause")?
Цитата Сообщение от alsav22 Посмотреть сообщение
Ошиблись где? В названии темы или в посте?
Номер библиотеки какой?
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.10.2013, 19:18  [ТС]
Версия 2.1. C system("pause") не работает, без нее - вполне.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 19:22
Выше main(), что в коде?

Добавлено через 1 минуту
И вы мне скрин с окном не показали, когда не работает.
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.10.2013, 19:26  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Выше main(), что в коде?
А ничего особенного:
C++
1
2
3
4
5
6
7
8
#include <SFML/Graphics.hpp>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define BSIDE 10
typedef unsigned int uint;
const uint Rows=50, Cols=40;
sf::RectangleShape field[Cols][Rows];
Когда не работает, то просто показывает консоль и пустое окошко, где, по идее, должны были рисоваться квадраты, с заголовком "Blocks".
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.10.2013, 19:33  [ТС]
Вот так:
Изображения
 
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 19:40
Понимаете, в чём дело... Так очень сложно разбираться. Я вам один код выкладываю, вы из него часть берёте и добавляете в свой и пробуете. У меня, выше main(), только:
C++
1
2
3
#include <SFML/Graphics.hpp>
 
using namespace sf;
И где у вас это: using namespace sf?
И окно на скрине не тех пропорций, что в моём коде. Так никогода не разобраться, в чём тут дело. У меня код, который я выкладывал, работает и с system("pause"), и без. Вообще, это не должно влиять. Когда окно открылось, код находится в while() и выходит оттуда только при закрытии окна.
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.10.2013, 19:47  [ТС]
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
#include <SFML/Graphics.hpp>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define BSIDE 10
typedef unsigned int uint;
const uint Rows=50, Cols=40;
using namespace sf;
RectangleShape field[Cols][Rows];
int main()
{
    Color colorArray[6] = {Color::White, Color::Red, Color::Green, Color::Blue, Color::Magenta, Color::Cyan};
    
    srand(time(NULL));
    RenderWindow window(VideoMode(600, 400), "Blocks");
    RectangleShape block(Vector2f(156, 156));
    block.setFillColor(colorArray[rand()%6]);
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
 
       window.clear();
       block.setPosition(0, 0);
       window.draw(block);
       window.display();
    }
    //system("pause");
    return 0;
 
}
Миниатюры
SFML 2.0 Выбор случайного цвета  
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 19:54
Чисто мой код (14 пост) с system("pause") пробовали?
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.10.2013, 20:00  [ТС]
Да, хотя, по сути, это он и есть, просто выше main() кое-какие мои, отношения к делу не имеющие, наброски располагаются. Он работает.

Добавлено через 2 минуты
system("pause") в 14 посте закомментирован, и именно варианты с отсутсвующей строкой system("pause") работают.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 20:01
В дополнительных зависимостях (в свойстве проекта) какие либы прописаны?
1
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.10.2013, 20:03  [ТС]
sfml-graphics-s-d.lib;sfml-window-s-d.lib;sfml-system-s-d.lib;sfml-audio-s-d.lib;%(AdditionalDependencies)
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 20:06
Эту запись сохраните (чтобы потом можно было вернуть) и вставьте вместо неё:
sfml-window-d.lib
sfml-window-s-d.lib
sfml-main-d.lib
sfml-graphics-d.lib
sfml-graphics-s-d.lib
sfml-system-d.lib
sfml-system-s-d.lib
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.10.2013, 20:09  [ТС]
Code
1
2
1>sfml-graphics-s-d.lib(Color.cpp.obj) : error LNK2005: "public: __thiscall sf::Color::Color(unsigned char,unsigned char,unsigned char,unsigned char)" (??0Color@sf@@QAE@EEEE@Z) уже определен в sfml-graphics-d.lib(sfml-graphics-d-2.dll)
1>C:\Users\Владислав\Documents\Visual Studio 2010\Projects\BattleCity\Debug\BattleCity.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 20:25
Судя по ошибке, которой у меня нет, библиотека как-то по другому подключена. Если есть желание, то можете ещё поэкспериментировать с добавлением/удалением либов, которые у меня прописаны, может какая-то из них влияет на system("pause").
1
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.10.2013, 20:36  [ТС]
Пытаюсь заполнить массив field блоками случайных цветов, плюется на 21 строку исключением "Нарушение прав доступа при чтении":

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
#include <SFML/Graphics.hpp>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#define BSIDE 10 //size of block's side
typedef unsigned int uint;
const uint Rows=50, Cols=40;
using namespace sf;
RectangleShape field[Cols][Rows];
int main()
{
    Color colorArray[6] = {Color::White, Color::Red, Color::Green, Color::Blue, Color::Magenta, Color::Cyan};
    srand(time(NULL));
    RenderWindow window(VideoMode(Cols*BSIDE, Rows*BSIDE), "Blocks");
    for (int i=0; i<Rows; i++)
    {
        for (int j=0; j<Cols; j++)
        {
                                  field[i][j].setSize((Vector2f(BSIDE, BSIDE)));
            field[i][j].setFillColor(colorArray[rand()%6]);
        }
    }
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
 
       window.clear();
       window.display();
    }
    //system("pause");
    return 0;
 
}
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.10.2013, 21:17
C++
1
RectangleShape field[Rows][Cols];
1
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
12.10.2013, 21:23  [ТС]
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.10.2013, 21:23

Генерация случайного цвета
Здравствуйте, уважаемые форумчане, помогите с вопросом, я не сильно разбираюсь в PHP, но жду от Вас небольшой помощи. Есть задача, написать...

100 фигур случайного цвета
Составить программу, которая выводит на экран 100 фигур случайного цвета Окружность фиксированного радиуса со случайным центром.

Изменение цвета случайного div'a
Имеется игровое поле с 25 div'ами. По клику на кнопку &quot;Play&quot; случайный div должен окрашиваться в синий цвет. По клику на div с синим...

Генерация случайного цвета PHP
Здравствуйте, уважаемые форумчане, помогите с вопросом, я не сильно разбираюсь в PHP, но жду от Вас небольшой помощи. Есть задача, написать...

Обнуление цвета SFML
В документации не нашел, в интернете аналогичной проблемы тоже. Имеется разноцветная текстура, как после выполнения действия окрашивания...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru