слушатель
Сообщения: 3,603
Регистрация: 07.06.2009 Откуда: Украина | | | | | pak
Сообщения: 9,041
Регистрация: 14.04.2003 | вот с этого угарел недавно | | | | ё, Сашечка Бух
Сообщения: 1,743
Регистрация: 26.12.2007 Откуда: картофельная афроамерика | тоже нормально
будь тру, ёпта | | | | секси-ботан
Сообщения: 138
Регистрация: 15.12.2011 | Кто-нибудь сталкивался с реализацией изменяющейся плоскости/фигуры в трехмерном пространстве в VisIt?
Нужно со считалки, написанной на с++ передать массив в VisIt, который изменяется со временем, т.е. за единицу времени передаем по массиву. (VisIt 2.4.0, OS Windows XP) | | | |
Сообщения: 1,604
Регистрация: 05.10.2009 | -Цитата от Meteraise luimorte, там не через for надо, а через do while, он найдёт все максимальные ну я и через for нормально замутил | | | | КОТ
Сообщения: 5,278
Регистрация: 14.02.2006 Откуда: ДВР | -Цитата от frolkin -Цитата от Ридл Гатофель -Цитата от зулусик просто
думаю, все-таки шар можно сделать отдельным классом. у него будет цвет, положение, передвигаться будет...
хотя, может ты и прав, и всё это можно типо ГРИДОМ сделать и без шаров...
я бы отдельно всё же делал, наверное Ну если отдельно делать, то будет трудно проверять, стоят ли шары в линию, т.к. хранится они будут тогда получается в списке (TList). А если в матрице, то всё просто. в дельфи нельзя сделать матрицу объектов? список списков например -Цитата от зулусик просто -Цитата от Ридл Гатофель -Цитата от зулусик просто
думаю, все-таки шар можно сделать отдельным классом. у него будет цвет, положение, передвигаться будет...
хотя, может ты и прав, и всё это можно типо ГРИДОМ сделать и без шаров...
я бы отдельно всё же делал, наверное Ну если отдельно делать, то будет трудно проверять, стоят ли шары в линию, т.к. хранится они будут тогда получается в списке (TList). А если в матрице, то всё просто. ну, "главное" поле игры содержит в себе матрицу шаров
товарищ frolkin об этом как раз и сказал вроде
Можно, но тогда нахуя класс? Если в TField'е они хранятся в матрице и координаты матрицы (индексы т.е.) уже служат как координаты в самом поле, то нахуя там объект хранить с этими же координатами?
Вполне достаточно в матрице просто цвета хранить или, как я уже писал, значение перечисляемого типа, в случае, если там у каждого шара своя картинка. | | | | pak
Сообщения: 9,041
Регистрация: 14.04.2003 | ну если шарик имеет только свойство цвет, тогда да - класс не нужен.
просто опыт показывает, что такие сущности по ходу роста программы нарастают свойствами и параметрами. | | | | КОТ
Сообщения: 5,278
Регистрация: 14.02.2006 Откуда: ДВР | -Цитата от frolkin ну если шарик имеет только свойство цвет, тогда да - класс не нужен.
просто опыт показывает, что такие сущности по ходу роста программы нарастают свойствами и параметрами. Ну шарики этот как бы олдовая игра и там обрастать нечему, плюс он для универа делает). Ну и к тому же методов у шара скорее всего точняк не будет, так что если нужны свойства, то лучше использовать record'ы. Добавлено через 3 минуты 54 секунды Хотя, если делать с анимацией, то методы могут понадобиться для переключения кадра например. Но, в любом случае, координаты там хранить нехуя. Даже если они и нужны, то лучше делать через метод GetPosition: TPoint, который будет пробегать по массиву у TField'а сравнивая каждый элемент с этой хуйнёй и когда они совпадут, возвращать координаты массива. ЧТобы внезапно не вышло хуйни, когда в шаре координаты переписал, а в массиве переместить забыл. Добавлено через 5 минут 48 секунд Хотя, с другой стороны, может лучше и в списке все шары хранить, и уже при проверке на готовые линии генерировать временную матрицу, по которой проверять. | | | | pak
Сообщения: 9,041
Регистрация: 14.04.2003 | Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд -Цитата от зулусик просто тоже нормально
будь тру, ёпта ну тут спорно | | | | КОТ
Сообщения: 5,278
Регистрация: 14.02.2006 Откуда: ДВР | -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд -Цитата от зулусик просто тоже нормально
будь тру, ёпта ну тут спорно Координаты шара на экране не надо хранить вовсе, они вычисляются исходя из координатов в сетке. А анимация происходит следующим образом: стоит таймер, который вызывается с каким-то интервалом. Ну и в нём вызывается TField.Draw, где в цилке идёт проход по шарам, у шаров хранится номер кадра, который и отрисовывается, после чего в таймере увеличивается на единицу, если номер кадра больше количества, то номер обнуляется и анимация идёт с начала. | | | | рюкзак фо лайф
Сообщения: 2,084
Регистрация: 08.09.2008 | Цискари здесь есть?) | | | | ё, Сашечка Бух
Сообщения: 1,743
Регистрация: 26.12.2007 Откуда: картофельная афроамерика | -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд -Цитата от зулусик просто тоже нормально
будь тру, ёпта ну тут спорно а че спорно? только асм, только олдскул -Цитата от Ридл Гатофель -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд -Цитата от зулусик просто
тоже нормально
будь тру, ёпта ну тут спорно Координаты шара на экране не надо хранить вовсе, они вычисляются исходя из координатов в сетке. А анимация происходит следующим образом: стоит таймер, который вызывается с каким-то интервалом. Ну и в нём вызывается TField.Draw, где в цилке идёт проход по шарам, у шаров хранится номер кадра, который и отрисовывается, после чего в таймере увеличивается на единицу, если номер кадра больше количества, то номер обнуляется и анимация идёт с начала. поясни вот это | | | | КОТ
Сообщения: 5,278
Регистрация: 14.02.2006 Откуда: ДВР | -Цитата от зулусик просто -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд -Цитата от зулусик просто
тоже нормально
будь тру, ёпта ну тут спорно а че спорно? только асм, только олдскул -Цитата от Ридл Гатофель -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд
ну тут спорно Координаты шара на экране не надо хранить вовсе, они вычисляются исходя из координатов в сетке. А анимация происходит следующим образом: стоит таймер, который вызывается с каким-то интервалом. Ну и в нём вызывается TField.Draw, где в цилке идёт проход по шарам, у шаров хранится номер кадра, который и отрисовывается, после чего в таймере увеличивается на единицу, если номер кадра больше количества, то номер обнуляется и анимация идёт с начала. поясни вот это Анимация спрайтовая. Вот шар
TBall = class
Frame: Integer; - Текущий кадр анимации
Frames: Integer; - Количество кадров анимации
Animation: Hz; - ссылка на объект, в котором хранятся сами изображения
procedure Animate; - переключается на следующий кадр. Т.е. Inc(Frame); If (Frame > Frames) then Frame := 0;
procedure Draw(x, y: Integer); Рисует Animation[Frame] в точке x,y
end;
По таймеру происходит следующее:
TField.Animate (анимация всего поля)
begin
for i := 0 to ColCount - 1 do
for j := 0 to RowCOunt - 1 do
if Assigned(Balls[i][j]) then Balls[i][j].Animate; - анимируем все шары
end;
TField.Draw;
begin
рисуем само поле на канве, т.е. хуячим сетку
for i := 0 to ColCount - 1 do
for j := 0 to RowCOunt - 1 do
if Assigned(Balls[i][j]) then Balls[i][j].Draw(i*на какой-то отступ, j * на какой-то отступ);
end; | | | | pak
Сообщения: 9,041
Регистрация: 14.04.2003 | -Цитата от Ридл Гатофель -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд -Цитата от зулусик просто
тоже нормально
будь тру, ёпта ну тут спорно Координаты шара на экране не надо хранить вовсе, они вычисляются исходя из координатов в сетке. А анимация происходит следующим образом: стоит таймер, который вызывается с каким-то интервалом. Ну и в нём вызывается TField.Draw, где в цилке идёт проход по шарам, у шаров хранится номер кадра, который и отрисовывается, после чего в таймере увеличивается на единицу, если номер кадра больше количества, то номер обнуляется и анимация идёт с начала. при удалении набора шаров на их места падают верхние
для этого нужны координаты Добавлено через 7 минут 36 секунд -Цитата от зулусик просто -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд -Цитата от зулусик просто
тоже нормально
будь тру, ёпта ну тут спорно а че спорно? только асм, только олдскул даже в асме использование goto - очень плохой стиль | | | | КОТ
Сообщения: 5,278
Регистрация: 14.02.2006 Откуда: ДВР | -Цитата от frolkin -Цитата от Ридл Гатофель -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд
ну тут спорно Координаты шара на экране не надо хранить вовсе, они вычисляются исходя из координатов в сетке. А анимация происходит следующим образом: стоит таймер, который вызывается с каким-то интервалом. Ну и в нём вызывается TField.Draw, где в цилке идёт проход по шарам, у шаров хранится номер кадра, который и отрисовывается, после чего в таймере увеличивается на единицу, если номер кадра больше количества, то номер обнуляется и анимация идёт с начала. при удалении набора шаров на их места падают верхние
для этого нужны координаты Добавлено через 7 минут 36 секунд -Цитата от зулусик просто -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд
ну тут спорно а че спорно? только асм, только олдскул даже в асме использование goto - очень плохой стиль Чего?) Либо я тебя неправильно понял, либо ты чё-то с тетрисом путаешь). | | | | pak
Сообщения: 9,041
Регистрация: 14.04.2003 | -Цитата от Ридл Гатофель -Цитата от frolkin -Цитата от Ридл Гатофель
Координаты шара на экране не надо хранить вовсе, они вычисляются исходя из координатов в сетке. А анимация происходит следующим образом: стоит таймер, который вызывается с каким-то интервалом. Ну и в нём вызывается TField.Draw, где в цилке идёт проход по шарам, у шаров хранится номер кадра, который и отрисовывается, после чего в таймере увеличивается на единицу, если номер кадра больше количества, то номер обнуляется и анимация идёт с начала. при удалении набора шаров на их места падают верхние
для этого нужны координаты Добавлено через 7 минут 36 секунд -Цитата от зулусик просто
а че спорно? только асм, только олдскул даже в асме использование goto - очень плохой стиль Чего?) Либо я тебя неправильно понял, либо ты чё-то с тетрисом путаешь). наверное я думаю на другие lines... не помню как называются))))
там где вся матрица заполнена шариками и можно поменять местами два ближайших
собрав в линию несколько шаров одинакового цвета (минимум 3 вроде) они исчезают и на их места падают верхние | | | | КОТ
Сообщения: 5,278
Регистрация: 14.02.2006 Откуда: ДВР | -Цитата от frolkin -Цитата от Ридл Гатофель -Цитата от frolkin
при удалении набора шаров на их места падают верхние
для этого нужны координаты Добавлено через 7 минут 36 секунд
даже в асме использование goto - очень плохой стиль Чего?) Либо я тебя неправильно понял, либо ты чё-то с тетрисом путаешь). наверное я думаю на другие lines... не помню как называются))))
там где вся матрица заполнена шариками и можно поменять местами два ближайших
собрав в линию несколько шаров одинакового цвета (минимум 3 вроде) они исчезают и на их места падают верхние Не, здесь речь про такого плану шарики: | | | | pak
Сообщения: 9,041
Регистрация: 14.04.2003 | ага уже понял)
тогда да - всё просто | | | | true rap
Сообщения: 7,370
Регистрация: 09.09.2009 Откуда: Курск / Оренбург | пиздец.
что-то хуйня какая.
В ксс-нике везде пропписано 330пх и 110пх (ибо 3 элемента, что в сумме дают 330 где надо, есличо)
и все равно, блять, отображается как 300 пх
блять, а проблема была в подключенном .js |
Последний раз редактировалось Владик 2Ville, 29 декабря 2011 в 09:38.
| | | ё, Сашечка Бух
Сообщения: 1,743
Регистрация: 26.12.2007 Откуда: картофельная афроамерика | -Цитата от Ридл Гатофель -Цитата от зулусик просто -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд
ну тут спорно а че спорно? только асм, только олдскул -Цитата от Ридл Гатофель
Координаты шара на экране не надо хранить вовсе, они вычисляются исходя из координатов в сетке. А анимация происходит следующим образом: стоит таймер, который вызывается с каким-то интервалом. Ну и в нём вызывается TField.Draw, где в цилке идёт проход по шарам, у шаров хранится номер кадра, который и отрисовывается, после чего в таймере увеличивается на единицу, если номер кадра больше количества, то номер обнуляется и анимация идёт с начала. поясни вот это Анимация спрайтовая. Вот шар
TBall = class
Frame: Integer; - Текущий кадр анимации
Frames: Integer; - Количество кадров анимации
Animation: Hz; - ссылка на объект, в котором хранятся сами изображения
procedure Animate; - переключается на следующий кадр. Т.е. Inc(Frame); If (Frame > Frames) then Frame := 0;
procedure Draw(x, y: Integer); Рисует Animation[Frame] в точке x,y
end;
По таймеру происходит следующее:
TField.Animate (анимация всего поля)
begin
for i := 0 to ColCount - 1 do
for j := 0 to RowCOunt - 1 do
if Assigned(Balls[i][j]) then Balls[i][j].Animate; - анимируем все шары
end;
TField.Draw;
begin
рисуем само поле на канве, т.е. хуячим сетку
for i := 0 to ColCount - 1 do
for j := 0 to RowCOunt - 1 do
if Assigned(Balls[i][j]) then Balls[i][j].Draw(i*на какой-то отступ, j * на какой-то отступ);
end; я кстати тоже про другие лайнс подумал. ну да ладно.
сам с анимацией и прочими лэйаутами никогда не работал, поэтому не знаю, может быть так и лучше.
я говорю, с позиции ООП наверно лучше было бы обособить "шар". ну да ладно. -Цитата от frolkin -Цитата от Ридл Гатофель -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд
ну тут спорно Координаты шара на экране не надо хранить вовсе, они вычисляются исходя из координатов в сетке. А анимация происходит следующим образом: стоит таймер, который вызывается с каким-то интервалом. Ну и в нём вызывается TField.Draw, где в цилке идёт проход по шарам, у шаров хранится номер кадра, который и отрисовывается, после чего в таймере увеличивается на единицу, если номер кадра больше количества, то номер обнуляется и анимация идёт с начала. при удалении набора шаров на их места падают верхние
для этого нужны координаты Добавлено через 7 минут 36 секунд -Цитата от зулусик просто -Цитата от frolkin Ты имеешь ввиду координаты шара в матрице или на экране?
Для анимации удобно хранить второе. А сами шары в списке списков.
хотя я не знаю какая система рисования в дельфи...
рассуждаю с точки зрения явера)) Добавлено через 1 минуту 59 секунд
ну тут спорно а че спорно? только асм, только олдскул даже в асме использование goto - очень плохой стиль ну вот уж не знаю...
писал приложение со структурами на асме заебался бы я там без goto | | | | КОТ
Сообщения: 5,278
Регистрация: 14.02.2006 Откуда: ДВР | -Цитата от зулусик просто -Цитата от Ридл Гатофель -Цитата от зулусик просто
а че спорно? только асм, только олдскул
поясни вот это Анимация спрайтовая. Вот шар
TBall = class
Frame: Integer; - Текущий кадр анимации
Frames: Integer; - Количество кадров анимации
Animation: Hz; - ссылка на объект, в котором хранятся сами изображения
procedure Animate; - переключается на следующий кадр. Т.е. Inc(Frame); If (Frame > Frames) then Frame := 0;
procedure Draw(x, y: Integer); Рисует Animation[Frame] в точке x,y
end;
По таймеру происходит следующее:
TField.Animate (анимация всего поля)
begin
for i := 0 to ColCount - 1 do
for j := 0 to RowCOunt - 1 do
if Assigned(Balls[i][j]) then Balls[i][j].Animate; - анимируем все шары
end;
TField.Draw;
begin
рисуем само поле на канве, т.е. хуячим сетку
for i := 0 to ColCount - 1 do
for j := 0 to RowCOunt - 1 do
if Assigned(Balls[i][j]) then Balls[i][j].Draw(i*на какой-то отступ, j * на какой-то отступ);
end; я кстати тоже про другие лайнс подумал. ну да ладно.
сам с анимацией и прочими лэйаутами никогда не работал, поэтому не знаю, может быть так и лучше.
я говорю, с позиции ООП наверно лучше было бы обособить "шар". ну да ладно. Так а нахуя создавать класс для объекта с одним единственным свойством (если анимации нет)? | | | | pak
Сообщения: 9,041
Регистрация: 14.04.2003 | -Цитата от зулусик просто -Цитата от Ридл Гатофель -Цитата от зулусик просто
а че спорно? только асм, только олдскул
поясни вот это Анимация спрайтовая. Вот шар
TBall = class
Frame: Integer; - Текущий кадр анимации
Frames: Integer; - Количество кадров анимации
Animation: Hz; - ссылка на объект, в котором хранятся сами изображения
procedure Animate; - переключается на следующий кадр. Т.е. Inc(Frame); If (Frame > Frames) then Frame := 0;
procedure Draw(x, y: Integer); Рисует Animation[Frame] в точке x,y
end;
По таймеру происходит следующее:
TField.Animate (анимация всего поля)
begin
for i := 0 to ColCount - 1 do
for j := 0 to RowCOunt - 1 do
if Assigned(Balls[i][j]) then Balls[i][j].Animate; - анимируем все шары
end;
TField.Draw;
begin
рисуем само поле на канве, т.е. хуячим сетку
for i := 0 to ColCount - 1 do
for j := 0 to RowCOunt - 1 do
if Assigned(Balls[i][j]) then Balls[i][j].Draw(i*на какой-то отступ, j * на какой-то отступ);
end; я кстати тоже про другие лайнс подумал. ну да ладно.
сам с анимацией и прочими лэйаутами никогда не работал, поэтому не знаю, может быть так и лучше.
я говорю, с позиции ООП наверно лучше было бы обособить "шар". ну да ладно. -Цитата от frolkin -Цитата от Ридл Гатофель
Координаты шара на экране не надо хранить вовсе, они вычисляются исходя из координатов в сетке. А анимация происходит следующим образом: стоит таймер, который вызывается с каким-то интервалом. Ну и в нём вызывается TField.Draw, где в цилке идёт проход по шарам, у шаров хранится номер кадра, который и отрисовывается, после чего в таймере увеличивается на единицу, если номер кадра больше количества, то номер обнуляется и анимация идёт с начала. при удалении набора шаров на их места падают верхние
для этого нужны координаты Добавлено через 7 минут 36 секунд -Цитата от зулусик просто
а че спорно? только асм, только олдскул даже в асме использование goto - очень плохой стиль ну вот уж не знаю...
писал приложение со структурами на асме заебался бы я там без goto goto очень путает код
правильный стиль подразумевает один выход из функции
goto же наоборот - плодит множество выходов | | | | КОТ
Сообщения: 5,278
Регистрация: 14.02.2006 Откуда: ДВР | Есть фигура, допустим прямоугольник, и находится она в точке например x=10 y=50, надо её плавно сдвинуть в точку например x=70 и y=60. Как мне рассчитывать промежуточные координаты? Можно конечно сдвигать по x на 6 и по y на 1 от начальной точки (x2-x1=60 и y2-y1=10, 60/10 = 6), но чую это ебанный сопособ. Можно ещё расчитать точки для прямой по Алгоритму брезенхема и по ним двигать, это вполне может выглядеть нормально, но впадлу алгоритм реализовывать . Есть ещё какие-нибудь варианты? | | | | в Бане
Сообщения: 441
Регистрация: 14.07.2011 | ребята подскажите програму какуюнить для затирания глаз или лица на видео | | | | pak
Сообщения: 9,041
Регистрация: 14.04.2003 | -Цитата от Ридл Гатофель Есть фигура, допустим прямоугольник, и находится она в точке например x=10 y=50, надо её плавно сдвинуть в точку например x=70 и y=60. Как мне рассчитывать промежуточные координаты? Можно конечно сдвигать по x на 6 и по y на 1 от начальной точки (x2-x1=60 и y2-y1=10, 60/10 = 6), но чую это ебанный сопособ. Можно ещё расчитать точки для прямой по Алгоритму брезенхема и по ним двигать, это вполне может выглядеть нормально, но впадлу алгоритм реализовывать . Есть ещё какие-нибудь варианты? да тут мало что придумаешь..
тот способ который ты предложил не сработает, потому Х либо У будет приближаться к нужному значению раньше чем другая координата.
брезенхем вообщем-то и нужен чтобы этот шаг уравнивать | | | | |