সি ++ থেকে লুয়া ব্যবহারের জন্য প্রস্তাবিত গ্রন্থাগারটি কী? [বন্ধ]


13

আমি বর্তমানে আমার 2 ডি গেম ইঞ্জিনে লুয়া স্ক্রিপ্টিংকে কীভাবে সংহত করতে পারি তা পরিকল্পনা করছি এবং আমি সি ++ শ্রেণি এবং অবজেক্টগুলি উন্মুক্ত করার জন্য সবচেয়ে পর্যাপ্ত সমাধানে সরাসরি যেতে চাই।

আমি এটি পড়েছি (যদি এটি আপনাকে সহায়তা করতে সহায়তা করে): http://lua-users.org/wiki/BindingCodeToLua

যদি আপনার কাছে পুনরুদ্ধারের জন্য আরও ভাল স্ক্রিপ্টিং ভাষা থাকে তবে এর জন্য যান; ডি

সমস্ত সহায়তা স্বাগত, ধন্যবাদ বাস্তবায়ন শুরু করার জন্য আমার সেরা সমাধানটি নেওয়া দরকার

উত্তর:


4

যদি আপনার স্ক্রিপ্টিং ভাষার প্রাথমিক গুণটি সহজ বাঁধাই হয় তবে অ্যাঞ্জেলস্ক্রিপ্ট চেষ্টা করুন । এটি প্রক্সি ফাংশনগুলি লেখার প্রয়োজন ছাড়াই সরাসরি নিবন্ধিত ফাংশনগুলিতে কল করতে পারে এবং এটি বিভিন্ন ধরণের সংকলকগুলির কলিং কনভেনশনগুলিকে সমর্থন করে। ভাষা নিজেই সি / সি ++ এর মতো, যা নির্ভর করে কোনও ভাল বা খারাপ জিনিস হতে পারে।



4

যতক্ষণ আপনি যুক্তিসঙ্গতভাবে প্রচলিত বাইন্ডিং করছেন ততক্ষণ লুয়াবাইন্ড আপনার প্রয়োজনীয় সমস্ত কাজ করবেন। বাইন্ডিং ক্লাস এবং ফাংশনগুলি প্রতি-ফাংশন চুক্তিতে এক-লাইন থাকে। আপনি যদি একটি উদাহরণ চান, লুয়াবাইন্ড ইন্টারফেসটি শুরু করার জন্য আমি যে গেম ইঞ্জিনটির সাথে কাজ করছি তার প্রযোজ্য ফাইলটি এখানেই রয়েছে (মডিউল (এল) দেখুন, ডন্টকিলমেব্রো <>) একটি সামান্য সিস্টেম যা আমাকে তাড়িত করার জন্য আপ করল নির্দিষ্ট সংবেদনশীল বস্তুর জন্য আরও সঠিকভাবে সময় অবজেক্ট ধ্বংস destruction)

আপনি যদি আরও জটিল কিছু চান তবে আপনার সম্ভবত আসল লুয়া এপিআই ব্যবহার করা দরকার। ভাগ্যক্রমে, লুয়া এপিআই যুক্তিসঙ্গতভাবে সহজ।


1

আমরা পাইওনিয়ারের জন্য ওলুয়া ব্যবহার করছি । এটি ম্যাক্রোগুলির একটি স্তূপ দেয় যা আপনি ল + "ক্লাস" কে সি ++ ক্লাসে আবদ্ধ করতে ব্যবহার করেন। এটি মোটামুটি শক্তি পেয়েছে তবে বেশ সোজা is আমি অন্য কোনও ব্যবহার করি নি তাই এটির তুলনা করার বিষয়ে আমি মন্তব্য করতে পারি না। এখানে একটি উদাহরণ


1

আমি নিউক্লেক্সের প্রাক্পম্পাইল্ড লিবসের সাথে হাত রেখে লুয়াবাইন্ডের জন্য ফাইলগুলি অন্তর্ভুক্ত করব। (এটি যদি আপনি ভিএস ২০০৮ এর সাথে কাজ করছেন)

যেহেতু লুয়াবাইন্ড আপনাকে কিছু বুস্ট লিবস এবং সরঞ্জামগুলি দিয়ে এটি তৈরি করা দরকার, তাই এই প্যাকেজটি আপনার মূল্যবান সময় সাশ্রয় করবে (এবং সম্ভবত কিছু মাথাব্যথা, কে জানে)। আমি বলব আপনি কি করছেন আপনি যদি জানেন তবে আপনি এক ঘন্টাও কম সময়ের মধ্যে লুয়া চালাতে সক্ষম হবেন।

আপনি যদি একটি ছোট পারফরম্যান্স লাভের সন্ধান করছেন তবে আপনি ডিফল্ট লুয়া ডেলকে একটি লুয়াজিট ডিএল- তে পরিবর্তন করতেও বিবেচনা করতে পারেন । আপনার মূল প্রকল্পে আপনি লাইব্রেরিটি সংকলন এবং lib / dll এর সাথে সংযোগ স্থাপনের জায়গাটি প্রতিস্থাপনের বিষয়, তাই এটি বেশ সহজ।

সেই সাথে, শুভকামনা!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.