Форум: "Начинающим";
Текущий архив: 2009.09.27;
Скачать: [xml.tar.bz2];
ВнизЭффект падающих цифр Найти похожие ветки
← →
datorn © (2009-07-17 19:57) [0]Добрового времени суток, мастера! Подскажите, пожалуйста, как реализовать эффект падающих цифр ("дождь из цифр")? Этот эффект реализован в фильме "Матрица".
Вот реализовал один столбик "дождя", но как их сделать много и независимыми?
var
y_old:integer;
s:string;
c1,c2:TColor;
begin
c1:=$002FFF6D;
c2:=$00008800;
canvas.Font.Color:=c1;
//setbkmode(form1.canvas.Handle,Transparent);
s:=inttostr(random(2))+inttostr(random(2));
y_old := y-canvas.TextHeight(s);
canvas.TextOut(x,y,s);
canvas.Font.Color:=c2;
canvas.TextOut(x,y_old,s1);
s1:=s;
end;
← →
@!!ex © (2009-07-17 19:58) [1]ви цикле.
← →
Сергей М. © (2009-07-17 20:06) [2]На лабу, вроде, не похоже ..
← →
datorn © (2009-07-17 20:09) [3]В цикле - всё будет одновременно происходить. Идеально было бы для каждой процедуры организовать свой таймер со случайным х, но не размещу же я 50 таймеров на форме!
← →
datorn © (2009-07-17 20:16) [4]Вот здесь есть похожий эффект -
http://softsearch.ru/programs/179-568-dos-matrix-2003-download.shtml
← →
datorn © (2009-07-17 20:16) [5]Вот здесь есть похожий эффект -
http://softsearch.ru/programs/179-568-dos-matrix-2003-download.shtml
← →
Сергей М. © (2009-07-17 20:21) [6]Ну точно не лаба)..
← →
datorn © (2009-07-17 20:22) [7]Та не лаба)) Просто захотелось сделать такой эффект, а мозгов, по ходу, не хватает:"(
← →
@!!ex © (2009-07-17 20:24) [8]> [3] datorn © (17.07.09 20:09)
Не нужно 50 таймеров.
> [7] datorn © (17.07.09 20:22)
Не мозгов, а базовых знаний.
← →
datorn © (2009-07-17 20:26) [9]Ну а как??? Я пытался через цикл, использовал sleep, изменял икс и игрек, а всё равно не тот эффект!
← →
Anatoly Podgoretsky © (2009-07-17 20:28) [10]> Сергей М. (17.07.2009 20:21:06) [6]
Не лаба, но лучше делом заняться.
← →
Сергей М. © (2009-07-17 20:29) [11]
> не лаба. Просто захотелось
Мож лучше "сникерснуть" ?
← →
datorn © (2009-07-17 20:31) [12]))) Та уже три батончика съел))
← →
Сергей М. © (2009-07-17 20:32) [13]
> пытался через цикл, использовал sleep, изменял икс и игрек,
> а всё равно
Мдя ..
Не видать тебе, Данила-мастер, цветка каменного как своих ушей ..
← →
@!!ex © (2009-07-17 20:35) [14]> [9] datorn © (17.07.09 20:26)
Простой совет. Обычно он тем кому я преподаю помогает:
попробуй расписать задачу на человеческом языке. В виде алгоритма.
← →
sniknik © (2009-07-17 20:36) [15]> В цикле - всё будет одновременно происходить. Идеально было бы для каждой процедуры организовать свой таймер со случайным х,
> но не размещу же я 50 таймеров на форме!
таймер должен быть только один! © Дункан Маклауд
с минимальным интервалом, и массив из 50ти х выраженных в этих интервалах, полученных естественно рандомно. кончились интервалы - сработало, получай новый, не кончились - пропускай. все.
> Ну а как??? Я пытался через цикл, использовал sleep, изменял икс и игрек, а всё равно не тот эффект!
а по колесу пинать пробовал?
← →
datorn © (2009-07-17 20:37) [16]Пробовал пинать, не катится.
← →
Сергей М. © (2009-07-17 20:39) [17]
> Пробовал пинать, не катится.
Карбюратор, наверно, не сосает..
← →
datorn © (2009-07-17 20:41) [18]Сергей М, очень важные советы, демонстрирующие ваше мастерство в кодинге! Спасибо.
← →
Сергей М. © (2009-07-17 20:42) [19]На здоровье.
Носи не стаптывай.
← →
Сергей М. © (2009-07-17 20:53) [20]
> Обычно он ...помогает:.. попробуй
Лучше уж "джага-джага"
← →
datorn © (2009-07-17 22:49) [21]sniknik © (17.07.09 20:36) [15]
По описанному алгоритму каждая из колонок цифр опускается синхронно с другой (потому что скорость определяется интервалом таймера), а надо, чтоб каждая из "струек" цифр падала отдельно.
← →
sniknik © (2009-07-17 23:18) [22]datorn © (17.07.09 22:49) [21]
читай "алгоритм" еще, ты не "врубился".
> потому что скорость определяется интервалом таймера
скорость там определяется интервалом таймера * на рандомное значение из массива x для каждой строчки.
← →
Германн © (2009-07-18 00:56) [23]
> datorn © (17.07.09 20:26) [9]
>
> Ну а как??? Я пытался через цикл, использовал sleep, изменял
> икс и игрек, а всё равно не тот эффект!
Интересно как ты "пытался через цикл, использовал sleep, изменял
икс и игрек"?
> Сергей М. © (17.07.09 20:21) [6]
>
> Ну точно не лаба)..
>
Но всё лучше, чем "падающие шары". :)
← →
Художник (2009-07-18 06:43) [24]Мх а если ченить типа
type
TSuperPuperTipoZapis= packed record
x,y,speed:integer;
end;
...
ar:array [0..49] of TSuperPuperTipoZapis;
...
inc(ar[x].y,ar[x].speed)
← →
datorn © (2009-07-18 08:58) [25]Германн © (18.07.09 00:56) [23]
procedure TForm1.m(var x,y:integer);
var
y_old:integer;
s:string;
c1,c2:TColor;
begin
c1:=$002FFF6D;
c2:=$00008800;
canvas.Font.Color:=c1;
//setbkmode(form1.canvas.Handle,Transparent);
s:=inttostr(random(2))+inttostr(random(2));
y_old := y-canvas.TextHeight(s);
canvas.TextOut(x,y,s);
canvas.Font.Color:=c2;
canvas.TextOut(x,y_old,s1);
s1:=s;
end;
...
for y:=1 t0 10 do
begin
for x:=1 to 10 do
m(x,y);
sleep(500);
end;
← →
Германн © (2009-07-19 01:57) [26]
> datorn © (18.07.09 08:58) [25]
>
> Германн © (18.07.09 00:56) [23]
>
Арифметика меня не интересует (пока).
Где в программе ты использовал циклы с процедурой m?
← →
KilkennyCat © (2009-07-19 02:14) [27]А я бы создал битмап на всю необходимую экрану, смещал бы в нем стоблцы букв, дорисовывая в верх новую и регулируя яркость необходимых участков, после чего делал бы флип на экран.
← →
KilkennyCat © (2009-07-19 02:16) [28]
> Где в программе ты использовал циклы с процедурой m?
> for y:=1 t0 10 do
> begin
> for x:=1 to 10 do
> m(x,y);
> sleep(500);
> end;
← →
Германн © (2009-07-19 02:23) [29]
> KilkennyCat © (19.07.09 02:16) [28]
>
>
> > Где в программе ты использовал циклы с процедурой m?
>
Не смеши. Лучше иди спать. :)
← →
turbouser © (2009-07-19 14:11) [30]а цифры все падали и падали...
← →
AlexDan © (2009-07-19 23:59) [31]если есть один дождь, то какая проблемма сделать много..? один цикл в другом или что-то вроде)..
← →
Dennis I. Komarov © (2009-07-20 11:59) [32]
> а цифры все падали и падали...
Не, ну я могу понять девушку, у которой падали, но тут (судя по анкете) - уже все совсем запущено. Да, она со статическими массивами то сделала :) надо у нее уточнить как...
;)
← →
KilkennyCat © (2009-07-20 13:45) [33]
> надо у нее уточнить как...
можешь у меня уточнить ;) хотя, для этого придется старую почту поднимать...
← →
Dennis I. Komarov © (2009-07-20 13:52) [34]
> можешь у меня уточнить ;)
не, не интересно будет... ;)
← →
datorn © (2009-07-20 18:54) [35]Dennis I. Komarov, до сих пор веришь анкетам? Наивный...
← →
V (2009-07-20 21:34) [36]Я скорее всего неправильно понял смысл эффекта матрицы, а посему вопрос: по какому принципу подсвечиваются светлозеленым циферки, и должны ли падающие цифры меняться?
Ну вот у меня получилось вот это http://www.filehoster.ru/files/dd5920
← →
datorn © (2009-07-20 21:44) [37]to V (20.07.09 21:34) [36]
О, огромное спасибо! Хоть один хороший человек предложил готовый код. Почти желаемый эффект. Тока еслиб цифры ещё как бы спускались сверху вниз как вот здесь -
http://softsearch.ru/programs/179-568-dos-matrix-2003-download.shtml ваще было бы именно то!
← →
KilkennyCat © (2009-07-20 22:48) [38]
> Хоть один хороший человек предложил готовый код
А остальные все плохие. Потому что хотели, чтоб ты сам научился.
Ну, это нормально...
← →
datorn © (2009-07-20 23:00) [39]to KilkennyCat © (20.07.09 22:48) [38]
Да нет, не значит, что все остальные плохие. Просто из всех хороших только один предложил код)
Уже мозги себе все проимел с этой матрицей, а конечный результат не достигнут, даже несмотря на советы мастеров(. А тут готовый код, ещё раз спасибо. Почитал, разобрался, допетрил, как надо. Сам бы ещё неделю "учился".
← →
turbouser © (2009-07-20 23:51) [40]
> datorn © (20.07.09 23:00) [39]
Опыт-сын ошибок трудных
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.09.27;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.005 c