IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Помогите с графикой
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Женский

Репутация: -  0  +


Надо представить в виде мультфильма картину медленного захода солнца за линию горизонта с изменением освещения пейзажа.
есть текст как солнце заходит:
program fgh;
uses crt,graph;
var GrDr,GrMd,i,g,j:integer; f:word;
const
cga=1;
begin
grdr:=detect;
initgraph(grdr,grmd,'c:\pascal\bgi');
setcolor(2);
line(0,400,getmaxX ,400);
g:=getbkcolor;
i:=50;j:=50;
while i<700 do
begin
setcolor(yellow);
setfillstyle(1,yellow);
fillellipse(i,j,40,40);
delay(2000);
setcolor(g);
setfillstyle(1,g);
fillellipse(i,j,40,40);
i:=i+random(3);
j:=j+random(2);
end;

closegraph;
end.
readln;


а вот с фоном проблемы((

Тегами пользуйся в следующий раз (выделяешь код, и выбираешь в листбоксе CODE нужный язык программирования)

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
есть текст как солнце заходит:
Ну, во-первых, оно ни разу не "заходит", а просто пересекает линию "горизонта". Чтоб заходило - надо сделать Вьюпорт без отображения графики за его границами, тогда солнце будет именно заходить, т.е., исчезать за линией горизонта...

Во-вторых: по какому признаку ты хочешь менять освещение? В зависимости от высоты солнца? А как должно меняться освещение? Может, просто менять цвет фона (скажем, когда солнце в зените - фон светло-синий, когда посередине между зенитом и горизонтом - фон просто синий, и когда солнце уже касается горизонта - фон становится черным)? Пойдет тебе такое? Если да, расскажу, как реализуется smile.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Buka @ 1.06.2009 19:15) *

Надо представить в виде мультфильма картину медленного захода солнца за линию горизонта с изменением освещения пейзажа.
...
а вот с фоном проблемы((
Стоп. А какой, собственно, пейзаж? "Бабы с граблями рядами ходят, сено шевелят"? Или "двух озер лазурные равнины, где парус рыбаря белеет иногда, за ними ряд холмов и нивы полсаты, вдали рассыпанные хаты, на влажных береагх бродящие стада.." Что ты имеешь в виду? Ты уж скажи поточнее, а то тебе нарисуют баб, а ты скажешь - хочу стада.. Или ваще Бэтмана, летящего на крыльях ночи.. Пейзажей же много бывает! Понимаешь мою идею?

Или я что-то упускаю?.. blink.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Женский

Репутация: -  0  +


надо только чтоб цвет фона менялся smile.gif

Добавлено через 19 мин.
Цитата(volvo @ 1.06.2009 21:36) *

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

Во-вторых: по какому признаку ты хочешь менять освещение? В зависимости от высоты солнца? А как должно меняться освещение? Может, просто менять цвет фона (скажем, когда солнце в зените - фон светло-синий, когда посередине между зенитом и горизонтом - фон просто синий, и когда солнце уже касается горизонта - фон становится черным)? Пойдет тебе такое? Если да, расскажу, как реализуется smile.gif


Да да, так мне и надо))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Ну, тогда что-то в этом роде:
uses crt, graph;

var
gd, gm: integer;
x, y: integer;

begin
initgraph(gd, gm, '');
if graphresult <> grok then begin
writeln('graphics error'); readln; halt(100);
end;

setcolor(green);
line(0, getmaxy div 2 + 1, getmaxx, getmaxy div 2 + 1);
setviewport(0, 0, getmaxx, getmaxy div 2, true);
y := 0;
while y < getmaxy div 2 do
begin
case y div (getmaxy div 6) of
0: setbkcolor(lightblue);
1: setbkcolor(blue);
2: setbkcolor(black);
end;
clearviewport;

setcolor(yellow);
setfillstyle(solidfill, yellow);
fillellipse(x, y, 40, 40);
delay(30);
y:=y+random(3);
x:=x+random(2);
end;
readln;
end.
В FPC отработало, для Турбо-Паскаля могут быть 2 проблемы: 1) слишком маленькая задержка в Delay, поменяй на то, что больше подходит. 2) смена цвета фона будет распространяться на весь экран, а не только на Вьюпорт... Попробуй, если что не так - говори, будем думать, как исправлять, вместе smile.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Женский

Репутация: -  0  +


Спасибо smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 21:06
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name