PDA

View Full Version : هدف متحرک



lvlina_r
جمعه 29 خرداد 1388, 14:56 عصر
ببخشید من اینقدر سوال می کنم، من می خوام یه هدف دایره ای متحرک داشته باشم، که بدون شتاب گرانش حرکت کند(خط راست)، و وقتی به انتهای صفحه رسید تحت زاویه ی تصادفی برگردد و روی خط راست دوباره حرکت کند....
من این کدر رانوشتم

QRect CannonField::targetRect()
{
double time=targettime;
double V=100;
double radians = target * 3.14159265 / 180;

double Vx=V*cos(radians);
double Vy=V*sin(radians);
double x=(width()/2)+Vx*time;
double y=(height()/2)+Vy*time;
QRect result(0, 0, 20,20);
result.moveCenter(QPoint(qRound(x),qRound(y)));
return result;
}
که target زاویه ی تصادفی می دهد، ولی جواب نمی ده، مشکلی دارد؟ یا اشکال از جا دیگه است؟

حامد مصافی
شنبه 30 خرداد 1388, 12:02 عصر
با توجه به سوالی که پرسیدید کد خیلی کمی نوشتید، در واقع هیچ چیزی ننوشتید. مشکل شما در حرکت بر مسیر مستقیم است یا بازگشت با زاویه تصادفی ؟

lvlina_r
دوشنبه 01 تیر 1388, 15:32 عصر
autoShootTimer3 = newQTimer(this);
connect(autoShootTimer3, SIGNAL(timeout()), this, SLOT(moveTarget()));
autoShootTimer3->start(5);




voidCannonField::moveTarget()
{
QRegionregion = targetRect();
++targettime;
QRectshotR = targetRect();
if (shotR.x() > width() || shotR.y() > height())
{
///////////////////////////////

}

region = region.unite(shotR);
update(region);
}

این مشکلم حل شد، حالا واسه زاویه ی تصادفی چی کار کنم؟؟ میشه راهنماییم کنید....

lvlina_r
دوشنبه 01 تیر 1388, 20:47 عصر
می شه یکی جواب منا بده، خیلی نیاز دارم، یه راهنماییه کوچک.....:گریه: