বেসিক সি/স্থানাঙ্ক
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