বেসিক সি/স্থানাঙ্ক
DegAt(W, H)
[সম্পাদনা]ফাংশনটি ভেক্টরের দিক নির্দেশ করে [W, H]। atan2 ফাংশনের উপর ভিত্তি করে, কিন্তু SDL জ্যামিতির সাথে সামঞ্জস্যপূর্ণ। ফলাফল -180 থেকে 180 ডিগ্রীতে, 0 ডিগ্রী উত্তর দিক নির্দেশ করে, যেমন ভেক্টর [0, -1] এর 0 ডিগ্রী আছে। সংজ্ঞা: (atan2 (W, - (H)) * 57.29578)
Distance(x, y, x2, y2)
[সম্পাদনা]বিন্দু থেকে বিন্দুর দূরত্ব (x, y) (x2, y2)
PointInCircle(Px, Py, X, Y, R)
[সম্পাদনা]বিন্দু (Px, Py) বৃত্তের ভিতরে থাকলে 1 প্রদান করে (X, Y, R), না থাকলে 0।
PointInBox(px, py, x1, y1, x2, y2)
[সম্পাদনা]বিন্দু (px, py) আয়তক্ষেত্রের ভিতরে থাকলে 1 প্রদান করে (x1, y1, x2, y2), না থাকলে 0। শর্ত: x2> = x1, y2> = y1।
PointInRect(px, py, rx, ry, w, h)
[সম্পাদনা]উপরের মত, কিন্তু 2য় কোণার পরিবর্তে আমরা প্রস্থ এবং উচ্চতা দিচ্ছি। শর্ত: w> = 0, h> = 0। এটি SDL_PointInRect (& p, & r) ফাংশনের সাথে মিলে যায়, যেখানে p হল SDL_Point টাইপের একটি কাঠামো যার ক্ষেত্রগুলি int x এবং int y, p.x এবং p.y হল বিন্দুর স্থানাঙ্ক। একইভাবে, r হল SDL_Rect ধরনের, r.x এবং r.y হল কোণার স্থানাঙ্ক, r.w এবং r.h হল আয়তক্ষেত্রের প্রস্থ এবং উচ্চতা।
CircleCollide(x, y, r, x2, y2, r2)
[সম্পাদনা]বৃত্ত (x, y, r) এবং (x2, y2, r2) সাধারণ বিন্দু থাকলে 1 প্রদান করে, না থাকলে 0।
RectCollide(A, B)
[সম্পাদনা]A এবং B এর কমন পয়েন্ট থাকলে 1, না থাকলে 0 প্রদান করে। A এবং B হল SDL_Rect প্রকারের কাঠামো। SDL_HasIntersection (& A, & B) ফাংশনের সাথে মিলে যায়
SRC(X, Y, W, H)
[সম্পাদনা]DST(X, Y, W, H)
[সম্পাদনা]SDL_Rect প্রকারের SRC এবং DST পরিবর্তনশীল ক্ষেত্রগুলির দ্রুত সেটিং করার জন্য কমান্ড। এগুলি হল বেসিকSDL.h
-এ ঘোষিত সহায়ক ভেরিয়েবল
উদাহরণ:
include "BasicSDL.h"
SDL_Point punkt={100,350};
MAIN
SDLOpen(0)
Color(-1)
Draw(0,0,200,199)
GPrintAt(300,0,"Nachylenie ") GPrint(Str$(DegAt(200,199)))
GPrintAt(300,32,"Długość ") GPr(Distance(0,0,200,199))
Rect(0,200,100,200) Rect(100,200,100,100)
SRC(0,200,100,200) DST(100,200,100,100)
If (RectCollide(SRC,DST))
GPrintAt(300,232,"kolizja")
Else
GPrintAt(300,232,"brak kolizji")
EndIf
Color(65535)
Plot(punkt.x,punkt.y)
If (PointInBox(punkt.x,punkt.y,0,200,99,399))
GPrintAt(110,350,"punkt w prostokącie")
Else
GPrintAt(110,350,"punkt poza prostokątem")
EndIf
ShowPage
WaitInKey
SDLQuit
ENDMAIN