■掲示板に戻る■
■過去ログ倉庫めにゅーに戻る■
★Delphiの簡単なアニメーション対決★
- 1 名前: 1 投稿日: 2001/07/11(水) 18:47
- procedure TForm1.Button1Click(Sender: TObject);
procedure line(x1,y1,x2,y2:integer);
begin
with canvas do begin
moveto(x1,y1);
lineto(x2,y2)
end
end;
var p, q, np, i, x, y, xo, yo : integer;
th, rs : real;
begin
write('p,qの値 ?');
readln(p,q);
np := 400 * q;
if (p mod 2 = 1) and
(q mod 2 = 1) then np := np div 2;
for i := 0 to np do begin
th := 2.0 * PI * i / 400;
rs := 180.0 * sin(p * th / q); {r=asin(pθ/q)}
x := round( rs * sin(th) + 320.0);
y := round(-rs * cos(th) + 200.0);
if i > 0 then line(xo,yo,x,y);
xo := x;
yo := y;
end;
end;
end.
- 2 名前: デフォルトの名無しさん 投稿日: 2001/07/11(水) 18:50
- エラーでるよ
- 3 名前: デフォルトの名無しさん 投稿日: 2001/07/11(水) 18:53
- こんそーるか
- 4 名前: デフォルトの名無しさん 投稿日: 2001/07/11(水) 18:53
- でちたよ!
- 5 名前: 1 投稿日: 2001/07/11(水) 19:10
- 上げ
- 6 名前: デフォルトの名無しさん 投稿日: 2001/07/11(水) 19:23
- 1さん他になにか作ってください。
わたしにわつくれないー
- 7 名前: デフォルトの名無しさん 投稿日: 2001/07/11(水) 19:25
- 1=2=3=4=5=6
ジサクジエンでした。
- 8 名前: デフォルトの名無しさん 投稿日: 2001/07/11(水) 19:39
- あきらかにちがうよ('-`)
2=3=4=6=8 なのさ
- 9 名前: デフォルトの名無しさん 投稿日: 2001/07/11(水) 20:26
- 7行プログラムスレからはじき出された腹いせか?>1
- 10 名前: デフォルトの名無しさん 投稿日: 2001/07/11(水) 20:45
- そもそもアニメーションなのか?ものすごく目のいいやつには
アニメーションに見えるかもしれないが・・・。
- 11 名前: 1 投稿日: 2001/07/11(水) 23:14
- age
- 12 名前: デフォルトの名無しさん 投稿日: 2001/07/12(木) 01:34
- それよりさあ、クリップボードに入ってるDelphiのソース
を取り出して半角空白2個を全角空白1個に置き換えて
再びクリップボードに戻すプログラム作ってよ。
- 13 名前: 1 投稿日: 2001/07/12(木) 02:53
- procedure TForm1.OnFormPaint(Sender: TObject);
const
cx=150;
cy=150;
begin
with Form1.Canvas do
begin
Ellipse(cx-80,cy-80,cx+80,cy+80); {face}
Brush.Color:=clBlack;
Ellipse(cx-50,cy-40,cx-20,cy- 0); {left eye}
Ellipse(cx+20,cy-40,cx+50,cy- 0); {right eye}
Pen.Width:=2;
Arc(cx-60,cy-50,cx-10,cy+10, cx-10,cy-40,cx-60,cy-20); {left eyebrow}
Arc(cx+10,cy-50,cx+60,cy+10, cx+60,cy-20,cx+10,cy-40); {right eyebrow}
Pen.Width:=1;
Brush.Color:=clWhite;
TextOut(cx-13,cy-55,'Arc');
Brush.Color:=clFuchsia;
Ellipse(cx-30,cy-10,cx+30,cy+20); {nose}
Font.Color:=clWhite;
TextOut(cx-20,cy-5,'Ellipse');
Brush.Color:=clRed;
Chord(cx-60,cy-60,cx+60,cy+60, cx-60,cy+30,cx+60,cy+30); {mouth}
TextOut(cx-20,cy+30,'Chord');
Brush.Color:=clYellow;
Pie(cx-60,cy-220,cx+60,cy-60, cx-30,cy-75,cx+30,cy-75); {cap}
Font.Color:=clBlack;
TextOut(cx-10,cy-90,'Pie');
end;
end;
- 14 名前: 1 投稿日: 2001/07/12(木) 03:02
- 誰か簡単なアニメーションをDelphiでつくってください。
- 15 名前: デフォルトの名無しさん 投稿日: 2001/07/12(木) 03:06
- >>12
それ昔のせたでしょ。
- 16 名前: デフォルトの名無しさん 投稿日: 2001/07/12(木) 03:06
- コード公開したいなら自分のページでやってリンクだけ示せ>1
- 17 名前: デフォルトの名無しさん 投稿日: 2001/07/12(木) 03:42
- とりあえず1の奴を本当にアニメーションするように改造したものを
恥を忍んでアプする。
procedure TForm1.Timer1Timer(Sender: TObject);
const
cx=150;
cy=150;
var
eyesize: Integer;
begin
eyesize := Ord(((GetTickCount div 50) mod 10)<7)*20+1;
with Form1.Canvas do
begin
Brush.Color:=clWhite;
Ellipse(cx-80,cy-80,cx+80,cy+80); {face}
Brush.Color:=clBlack;
Ellipse(cx-50,cy-20-eyesize,cx-20,cy-20+ eyesize); {left eye}
Ellipse(cx+20,cy-20-eyesize,cx+50,cy-20+ eyesize); {right eye}
Pen.Width:=2;
Arc(cx-60,cy-50,cx-10,cy+10, cx-10,cy-40,cx-60,cy-20); {left eyebrow}
Arc(cx+10,cy-50,cx+60,cy+10, cx+60,cy-20,cx+10,cy-40); {right eyebrow}
Pen.Width:=1;
Brush.Color:=clWhite;
TextOut(cx-13,cy-55,'Arc');
Brush.Color:=clFuchsia;
Ellipse(cx-30,cy-10,cx+30,cy+20); {nose}
Font.Color:=clWhite;
TextOut(cx-20,cy-5,'Ellipse');
Brush.Color:=clRed;
Chord(cx-60,cy-60,cx+60,cy+60, cx-60,cy+30,cx+60,cy+30); {mouth}
TextOut(cx-20,cy+30,'Chord');
Brush.Color:=clYellow;
Pie(cx-60,cy-220,cx+60,cy-60, cx-30,cy-75,cx+30,cy-75); {cap}
Font.Color:=clBlack;
TextOut(cx-10,cy-90,'Pie');
end;
end;
- 18 名前: デフォルトの名無しさん 投稿日: 2001/07/12(木) 04:38
- >>12
ClipBoard.AsText := StringReplace(ClipBoard.AsText, ' ', ' ', [rfReplaceAll]);
でできるだろ
- 19 名前: デフォルトの名無しさん 投稿日: 2001/07/12(木) 09:31
- >>18
thanks!タブコードと逆変換もついでに入れて使う事にするよ。