বিষয়বস্তুতে চলুন

বেসিক সি/বেসিকSDL

উইকিবই থেকে

SDL হল একটি ক্রস-প্ল্যাটফর্ম C/C++ লাইব্রেরি যা গ্রাফিক্স, শব্দ, ডিভাইস, ফাইল ব্যবহার করার সুবিধা প্রদান করে। BasicC-তে SDL ব্যবহার করা আরও সহজ এবং আরও সুবিধাজনক, এবং এটি অতিরিক্ত কিছু ফাংশনও অফার করে।
পোলিশ ভাষায় ডকুমেন্টেশন এবং SDL কোর্স উপলব্ধ: https://eduinf.waw.pl/inf/prg/011_sdl2/index.php

SDL ইনস্টল করা

[সম্পাদনা]

দ্রষ্টব্য: যদি আমরা চাই যে প্রোগ্রামগুলি অ্যান্ড্রয়েডের পুরানো সংস্করণগুলিতেও কাজ করুক, তাহলে আমাদের SDL-এর একটি পুরানো সংস্করণ ইনস্টল করা উচিত, যেমন 2.08৷

লিনাক্স

[সম্পাদনা]

এটি করার সবচেয়ে সহজ উপায় হল একটি প্যাকেজ ইনস্টলার, যেমন সিনাপটিক ব্যবহার করা। অনেক ডিস্ট্রিবিউশনে ইতিমধ্যেই SDL লাইব্রেরি ইনস্টল করা আছে, কিন্তু নিশ্চিত করুন যে আপনার ডেভেলপমেন্ট সংস্করণ (dev) ইনস্টল করা আছে। একইভাবে, আমরা অ্যাড-অন ইনস্টল করি যেমন SDL_mixer।

উইন্ডোজ

[সম্পাদনা]

আমরা শুধু ডেভেলপমেন্ট সংস্করণ (dev) ডাউনলোড করি এবং নির্বাচিত ডিরেক্টরিতে এটি আনপ্যাক করি। আমরা অতিরিক্ত লাইব্রেরির সাথে একই কাজ করি। প্লাগইন ফাইলগুলি আমাদের SDL ডিরেক্টরিতে অনুলিপি করা যেতে পারে, অন্যথায় কম্পাইলারকে এই ফাইলগুলির জন্য একটি অতিরিক্ত পথ দিতে হবে।

== SDL == দিয়ে কম্পাইল করুন

উইন্ডোজ

[সম্পাদনা]

মৌলিক mingw কম্পাইলার ব্যবহার করার পরামর্শ দেওয়া হয়। আপনি একটি IDE গ্রাফিকাল ইন্টারফেস সহ একটি প্যাকেজ ইনস্টল করতে পারেন, যেমন DEV C ++ বা কোড :: ব্লক, এই ক্ষেত্রে বিন, lib-এ উপযুক্ত পাথ প্রদান করা এবং SDL লাইব্রেরির ডিরেক্টরি এবং সম্ভবত অ্যাড-অনগুলি অন্তর্ভুক্ত করার পরামর্শ দেওয়া হয়। কম্পাইলার অপশনে।

কমান্ড লাইন থেকে কম্পাইল অপশন দেখতে এইরকম হওয়া উচিত:
myprogram.c -I Path_to_SDL2 \ অন্তর্ভুক্ত -L Path_to_SDL2 \ lib -lSDL2main -lSDL2 -o myprogram

আমরা যদি অতিরিক্ত লাইব্রেরি ব্যবহার করি, তাহলে আমাদের এটি সম্পর্কে কম্পাইলারকে (আসলে একটি লিঙ্কার) জানাতে হবে, যেমন SDL_mixer-এর জন্য আমরা যোগ করি:
-lSDL2_mixer

ইনস্টলেশন এবং সংকলনের আরও বিশদ বিবরণ পাওয়া যাবে, উদাহরণস্বরূপ, এখানে:
https://www.matsson.com/prog/sdl2-mingw-w64-tutorial.php

যদি আমরা কম্পাইলার বিকল্পগুলিতে IDE ইন্টারফেস ব্যবহার করি তাহলে আমরা লিঙ্কারের জন্য নিম্নলিখিত কমান্ডগুলি দিই:
-lSDL2main -lSDL2
যদি আমরা একটি মিক্সার ব্যবহার করি, উদাহরণস্বরূপ, আমরা যোগ করি:
-lSDL2_mixer

লিনাক্স

[সম্পাদনা]

কম্পাইলার এবং লিঙ্কার বিকল্পগুলির নমুনা সেট:
-Wall -o "%e" "%f" $(pkg-config --libs SDL2_image SDL2_ttf SDL2_mixer) $(sdl2-config --cflags) -lm
যেখানে "% e" হল এক্সিকিউটেবলের নাম, "% f" হল সোর্স ফাইলের নাম

অ্যান্ড্রয়েড

[সম্পাদনা]

আমরা SDL এর উৎস সংস্করণ ডাউনলোড করি। সংকলনের নির্দেশাবলীর জন্য, ডক্স / README-android.md দেখুন। যদি প্রোগ্রামটি অ্যান্ড্রয়েডের পুরানো সংস্করণে সঠিকভাবে কাজ করতে হয়, তাহলে 2.0.8 পর্যন্ত SDL এবং r16b পর্যন্ত NDK ব্যবহার করার পরামর্শ দেওয়া হয়। অ্যাপ / jni / src ডিরেক্টরিতে ./androidbuild.sh কমান্ড দিয়ে প্রজেক্ট তৈরি করার পরে, প্রোগ্রামের হেডার এবং সোর্স ফাইলগুলি (Basic.h এবং BasicSDL.h সহ), অ্যাপ / src / main / assets / অন্যান্য ফাইলগুলিতে রাখুন (BASFont.bmp সহ), লাইব্রেরি (সোর্স কোড, যেমন SDL2_mixer ডিরেক্টরি) অ্যাপ / jni-তে পছন্দ করে৷
আমরা ফাইল অ্যাপ/jni/src/Android.mk:
পরিবর্তন করি

  • LOCAL_C_INCLUDES লাইনে, স্থানের পরে, লাইব্রেরি হেডার ডিরেক্টরি যোগ করুন, উদাহরণস্বরূপ: $ (LOCAL_PATH) /../ SDL2_mixer
  • LOCAL_SRC_FILES-এ আমরা .c ফাইলগুলিকে কম্পাইল করার জন্য দিই
  • LOCAL_SHARED_LIBRARIES-এ আমরা লাইব্রেরির নাম যোগ করি, উদাহরণস্বরূপ: SDL2_mixer

মনোযোগ! androidbuild.sh কমান্ড প্রকল্প ডিরেক্টরির বিষয়বস্তু মুছে দেয় এবং একটি নতুন তৈরি করে৷

এই ধাপগুলির পরে, আপনি ./gradlew installDebug কমান্ড দিয়ে একটি .apk তৈরি করতে পারেন .apk ফাইলটি অ্যাপ / বিল্ড / আউটপুট / apk / ডিরেক্টরিতে উপস্থিত হওয়া উচিত। ইউএসবি এর মাধ্যমে সংযুক্ত একটি অ্যান্ড্রয়েড ডিভাইসে প্রোগ্রামটি স্বয়ংক্রিয়ভাবে ইনস্টল করার জন্য, আপনাকে অবশ্যই ডেভেলপার মোড সক্ষম করতে হবে এবং এতে USB এর মাধ্যমে ডিবাগ করার বিকল্পটি চালু করতে হবে৷

ধ্রুবক SDL_MAIN_HANDLED সংজ্ঞায়িত করার সুপারিশ করা হয় না, এটি শুধুমাত্র Windows এর অধীনে প্রয়োজন৷
এটি তথাকথিত সেট করার সুপারিশ করা হয় প্রতিটি ছবির জন্য colorkey, এমনকি যদি আমাদের স্বচ্ছতার প্রয়োজন না হয়, অন্যথায় ছবিটি দৃশ্যমান নাও হতে পারে।

SDL এর জন্য BasicC কনফিগারেশন

[সম্পাদনা]

আমাদের প্রোগ্রামের সাথে ডিরেক্টরিতে Basic.h, BasicSDL.h এবং BASFont.bmp যোগ করার সবচেয়ে সহজ উপায়। SDL এর সাথে BasicC ব্যবহার করতে, প্রোগ্রামের শুরুতে BasicSDL.h লাইব্রেরি সংযুক্ত করা যথেষ্ট, যেমন কমান্ড সহ:

"BasicSDL.h" অন্তর্ভুক্ত করুন

[সম্পাদনা]

আপনি যদি এই কমান্ডের আগে ডিফল্ট BasicSDL বিকল্পটি পরিবর্তন করতে চান, অতিরিক্ত প্রিপ্রসেসর নির্দেশাবলী লিখুন:

# VSYNC "0" সংজ্ঞায়িত করুন

[সম্পাদনা]

যদি আমরা মনিটরের রিফ্রেশের সাথে প্রোগ্রামের সিঙ্ক্রোনাইজেশন নিষ্ক্রিয় করতে চাই। ডিফল্টরূপে, এই বিকল্পটি চালু থাকে, যার অর্থ হল যখন ShowPage কমান্ডটি কল করা হয়, স্ক্রীনটি রিফ্রেশ না হওয়া পর্যন্ত প্রোগ্রামটি বিরতি দেয়। রিফ্রেশ হার মনিটর সেটিংসের উপর নির্ভর করে, সাধারণত এটি প্রায় 60 Hz হয়।

#WINDOWW window_width সংজ্ঞায়িত করুন

[সম্পাদনা]

#WINDOWH window_height সংজ্ঞায়িত করুন

[সম্পাদনা]

আমরা যদি পিক্সেলে উইন্ডোর আকার পরিবর্তন করতে চাই। ডিফল্ট আকার হল 640x400, এটি প্যানোরামিক এবং ঐতিহ্যগত চিত্রের মধ্যে একটি মধ্যবর্তী অনুপাত৷

অন্যান্য পরিবর্তনগুলি BasicSDL.h ফাইলটি পরিবর্তন করে করা যেতে পারে, যেমন সমর্থিত জয়স্টিকগুলির সংখ্যা পরিবর্তন করে, যা ডিফল্টরূপে 4 এ কমান্ড দিয়ে সেট করা হয়: #define MAXJOYS 4

# FONTCOLORKEY K সংজ্ঞায়িত করুন

[সম্পাদনা]

যেখানে K হল GPrint স্বচ্ছ ফন্টের কালার নম্বর। 0 - স্বচ্ছ পটভূমি, 1 - স্বচ্ছ ফন্ট, -1 - স্বচ্ছতা নেই (কালো পটভূমিতে পাঠ্য)। সরাইখানা=== # সাউন্ডফ্রিকেন্সি F === সংজ্ঞায়িত করুন F - ফ্রিকোয়েন্সি যেখানে শব্দগুলি রূপান্তরিত হবে এবং বাজানো হবে, ডিফল্টরূপে 11025।

# MAXJOYS J সংজ্ঞায়িত করুন

[সম্পাদনা]

J - সর্বাধিক সংখ্যক গেম কন্ট্রোলার, ডিফল্টরূপে 4।

অতিরিক্ত SDL লাইব্রেরি

[সম্পাদনা]

SDL_image.h - নন-BMP ছবি
লোড করতে ব্যবহৃত হয় SDL_ttf.h - TTF ফন্ট সমর্থন
SDL_mixer.h - শব্দ বাজানো হচ্ছে

আপনি যদি অতিরিক্ত লাইব্রেরি ব্যবহার না করেন, তাহলে আপনি #include থেকে উপযুক্ত লাইনগুলি সরাতে বা মন্তব্য করতে পারেন

ঘোষিত চলক, ধ্রুবক, এবং ফাংশন

[সম্পাদনা]

BasicSDL.h অনেকগুলি ধ্রুবক, ভেরিয়েবল এবং অক্জিলিয়ারী ফাংশন ঘোষণা করে। আপনার প্রোগ্রামগুলিতে ব্যবহৃত নামের নকল এড়াতে এই ফাইলটি পর্যালোচনা করা একটি ভাল ধারণা।