C++Builderを使っている初心者です。
建物から水平投射されたボールのアニメーションを作ろうとしています。
まず高さと初速度を入力する欄を設け(TEdit)、タイマーを設置しました。
ボタンを押すとタイマーが動くようにしました。
以下タイマーの中のプログラムです。
int x1,y1,x2,y2;
float x,y,t;
float a,b,c;
a=StrToFloat(Edit1->Text);
b=StrToFloat(Edit2->Text);
for(t=0;t<=10;t=t++)
{
y=9.8*t*t/2;
x=b;
Shape1->Left=Shape1->Left+x/100;
Shape1->Top=Shape1->Top+y/100;
どうしたらうまく動くのでしょうか?
まず、ここはVC++ラウンジなので板違いです。
ですが、C++Builderで現在活発な掲示板やMLを知らず、
適切な誘導ができないので、出来る範囲で回答します。
タイマーの使い方を覚えましょう。
次のステップでプログラムを作成してはいかがか。
Step 1
ButtonとMemoとタイマーをフォームに貼り付けましょう。
Buttonを押したらタイマースタートです。
タイマーが呼ばれたら、Memoの内容を更新します。
とりあえずButtonを押してからの経過時間を表示しましょうか。
Memoには追記するのではなく、最新の経過時間だけが表示されるようにします。
Step 2
次は、経過時間(秒)を整数単位で持ち、これを2乗した結果を
表示しましょう。
Step 3
経過時間をtとして、好きな式でxとyを計算しましょう。
例えば、こんな感じです。
x = 50 + 5 * t;
y = 30 + t * t;
計算結果は、Memoに数字を表示すれば結構です。
Step 4
計算したxとyを使って図形を動かしましょう。
# 詰まったら再度聞いてください、と書こうと思ったけど、
# 今、C++Builder3を動かそうとしたら、正常に動かなかったので、
# C++Builderの操作については、私もあまり答えられません。
板違いですみませんでした。
なのにわざわざありがとうございました。
がんばってみます!