Страница 5 из 6
Re: !!!!!! снова помошь с графикой в паскале !!!!!!
Добавлено: 12 мар 2008, 22:00
Vovchik
А шаблон ето как ???
Re: !!!!!! снова помошь с графикой в паскале !!!!!!
Добавлено: 12 мар 2008, 22:11
airyashov
обойдитесь простыми эллипсами, на рот менять оси, впринципе все просто
Re: !!!!!! снова помошь с графикой в паскале !!!!!!
Добавлено: 12 мар 2008, 22:18
Vovchik
а как быть с перемешением, не выходя за границы екрана ???
Re: !!!!!! снова помошь с графикой в паскале !!!!!!
Добавлено: 12 мар 2008, 22:25
MOTOCoder
А перемещать надо кнопками или автоматически?
Re: !!!!!! снова помошь с графикой в паскале !!!!!!
Добавлено: 12 мар 2008, 22:28
airyashov
Vovchik писал(а):а как быть с перемешением, не выходя за границы екрана ???
условия проверяйте для эллипса лица, относительно центра, размер же известен
за 100р напишу, если уж совсем влом самому
Re: !!!!!! снова помошь с графикой в паскале !!!!!!
Добавлено: 12 мар 2008, 22:42
MOTOCoder
Во жизнь пошла!
Все денег требуют.
Если можете подождать до завтра, скорее всего напишу.
Re: !!!!!! снова помошь с графикой в паскале !!!!!!
Добавлено: 12 мар 2008, 23:34
airyashov
MOTOCoder писал(а):Во жизнь пошла!
Все денег требуют.
Если можете подождать до завтра, скорее всего напишу.
Если хотите пишите за даром, Я уже написался для души, помочь можно, но это не ступор в задаче - это банальная лень и не желание почитать хоть минимум литературы.
Re: !!!!!! снова помошь с графикой в паскале !!!!!!
Добавлено: 13 мар 2008, 11:07
Хыиуду
Написать процедуру "Нарисовать лицо по координатам Х, У", если делать смещение - вызвать ту же процедуру, но с измененными Х, У
Re: !!!!!! снова помошь с графикой в паскале !!!!!!
Добавлено: 13 мар 2008, 13:43
MOTOCoder
Вот простейший вариант.
Изображение карявое, но принцип должен быть понятен.
[syntax='Delphi']
program face;
uses crt, graph;
var
BaseX,BaseY:integer;
gd,gm:integer;
VR,HR:word;
MoothState:integer;
EyesState:integer;
EyesPos:integer;
ActPage,VisPage:byte;
I:integer;
procedure Init;
begin
gd:=3;
gm:=0;
InitGraph(gd,gm,'');
if GraphResult <> grOK then
begin
writeln('Graphics initialisation error');
readln;
halt;
end;
VR:=70;
HR:=80;
BaseX:=100;
BaseY:=0;
ActPage:=0;
VisPage:=1;
end;
procedure Flip;
begin
Case ActPage of
0:begin
VisPage:=0;
ActPage:=1;
end;
1:begin
VisPage:=1;
ActPage:=0;
end;
end;
SetActivePage(ActPage);
SetVisualPage(VisPage);
end;
procedure DrawFace;
begin
ClearViewPort;
SetFillStyle(1,15);
FillEllipse(BaseX+HR,BaseY+VR,HR,VR);
SetFillStyle(0,0);
{рот}
Case MoothState of
1:FillEllipse(BaseX+HR,BaseY+110,30,20);
2:FillEllipse(BaseX+HR,BaseY+110,40,15);
3:FillEllipse(BaseX+HR,BaseY+110,50,10);
end;
{глаза}
Case EyesState of
1:EyesPos:=0;
2:EyesPos:=10;
3:EyesPos:=-10;
end;
SetColor(0);
SetFillStyle(1,15);
FillEllipse(BaseX+40,BaseY+50,25,10);
FillEllipse(BaseX+100,BaseY+50,25,10);
{зрачки}
SetFillStyle(0,0);
FillEllipse(BaseX+40+EyesPos,BaseY+52,10,5);
FillEllipse(BaseX+100+EyesPos,BaseY+52,10,5);
end;
begin
Init;
i:=1;
repeat
if BaseX+HR*2>=GetMaxX then
I:=-1;
if BaseX<=0 then
I:=1;
Inc(BaseX,i);
if ((basex mod 10)=0) then
if moothstate<>3 then
inc(moothstate) else moothstate:=1;
if ((basex mod 15)=0) then
if EyesState<>3 then
inc(EyesState) else EyesState:=1;
Drawface;
Flip;
Delay(100);
until keypressed;
CloseGraph;
end.
[/syntax]
Re: !!!!!!!!!!!!!ПОМОГИТЕ С ГРАФИКОЙ В ПАСКАЛЕ!!!!!!!!!!!!
Добавлено: 13 мар 2008, 14:11
Игорь Акопян
не надо плодить темы с одинаковым названием и сутью