Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1248903094
Petr V. Abramov
2009-07-30 01:31
2009.09.27
может, я старею? (:


2-1248173443
Pavel
2009-07-21 14:50
2009.09.27
Перемещение Image в ScrollBox


8-1196699263
DevilDevil
2007-12-03 19:27
2009.09.27
Физика красочных контрастных изображений?


15-1248920438
Skyle
2009-07-30 06:20
2009.09.27
VBScript, куда делся класс?


2-1248303203
Кошкин
2009-07-23 02:53
2009.09.27
Textout





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский