silsin
24-09-2011, 16:20
به نام خدا
دید کلی:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اسلحه در انریل انجین از جمله اقلام و موجودی های است که پلایر می تواند داشته باشد . به طور معمول یک اسلحه باید چیزی را به قول معروف اتش کند .سیستم سلاح در هر نوع بازی می تواند متفاوت باشد دربازی این سلاح امکان دارد شمشیر یا کمان باشد . و یا یک عصای جادویی.تعریفی که می توان به سلاح وارد اورد می تواند اینگونه باشد که : به هر ابزاری که می توان از ان برای صدمه زدن به فرد دیگری استفاده کرد سلاح گفته میشود
سیستم ذخیره سازی :
این سیستم در انریل انجین وظیفه به قول معروف نگه داری هر گونه وسائلی را دارا میباشد که برای نگه داری همین اسلحه باید از این سیستم استفاده کرد . این سیستم را همانند یک کیفو یا کوله پشتی یا یک جعبه برای نگه داری وسائل مختلف در نظر بگیرید که با استفاده از ان می خواهید هرگونه وسائل از جمله همین اسلحه را در ان نگه داری کنید .
هر پلایر برای خودش یکی از این سیستم های ذخیره سازی ((inventory manager )) دارد که دست چین کننده هر چیزی است که پلایر استفاده می کند .
استفاده از سیستم ذخیره سازی برای اسلحه ها ::
اگر این سیستم ذخیره سازی را یک انبار / یک والد فرض کنیم . اسلحه ای که از ان استفاده می کنند همانند یک فرزند برای ان تلقی خواهد شد بنابراین دو راه وجود دارد که یک اسلحه را به دست پلایر بدهیم
1- از طریق دادن مسقیم اسلحه به دست کارکتر با استفاده از دستور Pawn.GiveWeapon() استفاده بکینم
2-یا از طریق یک اکتور دیگر و با استفاده از خواصیت DroppedPickup یا PickupFactory
خاصیت DroppedPickup زمانی به کار می رود که اسلحه در محیط و جهان بازی قرار دارد و توسط یک پلایر دیگر حمل میشود این خاصیت زمانی معنی پیدا می کند که این اسلحه با استفاده از دستور Inventory.DropFrom() یا زمان مرگ یک اکتور دیگر از کنترل او خارج و به قولی از دست او بیفتد در این حالت به این خاصیت ایجاد شده اسلحه DroppedPickup گفته می شود .
نوع دوم PickupFactory از قبل در جهان بازی موجود می باشد و قرار دادن و یا قرار گرفتن ان توسط طراح مرحله تعیین می شود در این حالت اکتور در جریان بازی هم قابلیت ان را خواهد داشت که خود مسئولیت تصمیم گیری در مورد برداشتن و یا استفاده کردن از این ایتم را داشته باشد .
هر دوی این DroppedPickup یا PickupFactory وظیفه دارند که ایتم مورد نظر را از سیستم و همان کوله پوشتی ذخیره سازی دریافت و به بازیگر بدهند حال اگر این بازیگر خود پلایر اصلی باشد و یا یک اکتور که توسط سیستم کنترل می شود .
نکته جالب در اینجاست که حتی می توان نحوه ی دادن یک ایستم از سیستم ذخیره سازی را کنترل کرد. این بدین معناست که شما حتی می توانید با استفاده از این تابع Item.GiveTo() خودتان ایتم مورد نظر را به اکتوری اختصاص دهید عملکرد ای تابع بدین صورت است که به سیستم مدیریت ذخیره سازی ایتم ها در بازی می گوید که این ایتم را به موجودیت ها ی (inventioy ) اکتور هدف قرار بده
سومین متد برای برای دادن اسلحه به یک پلایر استفاده از Pawn.GiveWeapon() بود . عملکرد این تابع بدین صورت است که بدون کم کردن از جایی یا از چیزی اسلحه ای را به کارکتر میاد و به جای جایگزینی و جابه جایی اسلحه ان را در قسمت اسلحه یا همان سیستم ذخیره سازی اسلحه کارکتر ایجاد می کرد .
تا اینجا با متد های دادن اسلحه به کارکتر ها اشنا شدیم . حال اگر تعداد بیشتری اسلحه در اختیار ما باشد باید چه کار کنیم . ؟ چه طور می توانیم سلاح های قبلی و بعدی را فعال و قابل استفاده کنیم ؟
نکته این مورد استفاده از توابع PlayerController.NextWeapon() یا PlayerController.PrevWeapon() و
تابع اجرایی InventoryManager.SwitchToWeaponClass() می باشد
این توابع به صورت منطقی عملکرد سیستم ذخیره سازی ایتم های شما را طوری تنظیم می کنند که هنگامی که اسلحه جدیدی در اختیار شما قرار گرفته شد تابع InventoryManager.SetCurrentWeapon() برای قرار دادن این سلاح به عنوان سلاح پیش فرض شما صدا زده شود .
SetCurrentWeapon() نقطه ی شروع پروسه ساخت اسلحه ماست .این تابع تنها یک پارامتر را می گیرد
DesiredWeapon که بیان کننده و اشاره کننده به اسلحه ای است که شما می خواهید استفاده کننید .
حال به شکل زید دقت کنید . در شکل زیر می توانید عملکرد این سیستم را مشاهده کنید :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
)))))به امید اینکه تنبلی نکنم و بازم حسسش بیاد این مقاله رو ادامه بدم :31:
دید کلی:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اسلحه در انریل انجین از جمله اقلام و موجودی های است که پلایر می تواند داشته باشد . به طور معمول یک اسلحه باید چیزی را به قول معروف اتش کند .سیستم سلاح در هر نوع بازی می تواند متفاوت باشد دربازی این سلاح امکان دارد شمشیر یا کمان باشد . و یا یک عصای جادویی.تعریفی که می توان به سلاح وارد اورد می تواند اینگونه باشد که : به هر ابزاری که می توان از ان برای صدمه زدن به فرد دیگری استفاده کرد سلاح گفته میشود
سیستم ذخیره سازی :
این سیستم در انریل انجین وظیفه به قول معروف نگه داری هر گونه وسائلی را دارا میباشد که برای نگه داری همین اسلحه باید از این سیستم استفاده کرد . این سیستم را همانند یک کیفو یا کوله پشتی یا یک جعبه برای نگه داری وسائل مختلف در نظر بگیرید که با استفاده از ان می خواهید هرگونه وسائل از جمله همین اسلحه را در ان نگه داری کنید .
هر پلایر برای خودش یکی از این سیستم های ذخیره سازی ((inventory manager )) دارد که دست چین کننده هر چیزی است که پلایر استفاده می کند .
استفاده از سیستم ذخیره سازی برای اسلحه ها ::
اگر این سیستم ذخیره سازی را یک انبار / یک والد فرض کنیم . اسلحه ای که از ان استفاده می کنند همانند یک فرزند برای ان تلقی خواهد شد بنابراین دو راه وجود دارد که یک اسلحه را به دست پلایر بدهیم
1- از طریق دادن مسقیم اسلحه به دست کارکتر با استفاده از دستور Pawn.GiveWeapon() استفاده بکینم
2-یا از طریق یک اکتور دیگر و با استفاده از خواصیت DroppedPickup یا PickupFactory
خاصیت DroppedPickup زمانی به کار می رود که اسلحه در محیط و جهان بازی قرار دارد و توسط یک پلایر دیگر حمل میشود این خاصیت زمانی معنی پیدا می کند که این اسلحه با استفاده از دستور Inventory.DropFrom() یا زمان مرگ یک اکتور دیگر از کنترل او خارج و به قولی از دست او بیفتد در این حالت به این خاصیت ایجاد شده اسلحه DroppedPickup گفته می شود .
نوع دوم PickupFactory از قبل در جهان بازی موجود می باشد و قرار دادن و یا قرار گرفتن ان توسط طراح مرحله تعیین می شود در این حالت اکتور در جریان بازی هم قابلیت ان را خواهد داشت که خود مسئولیت تصمیم گیری در مورد برداشتن و یا استفاده کردن از این ایتم را داشته باشد .
هر دوی این DroppedPickup یا PickupFactory وظیفه دارند که ایتم مورد نظر را از سیستم و همان کوله پوشتی ذخیره سازی دریافت و به بازیگر بدهند حال اگر این بازیگر خود پلایر اصلی باشد و یا یک اکتور که توسط سیستم کنترل می شود .
نکته جالب در اینجاست که حتی می توان نحوه ی دادن یک ایستم از سیستم ذخیره سازی را کنترل کرد. این بدین معناست که شما حتی می توانید با استفاده از این تابع Item.GiveTo() خودتان ایتم مورد نظر را به اکتوری اختصاص دهید عملکرد ای تابع بدین صورت است که به سیستم مدیریت ذخیره سازی ایتم ها در بازی می گوید که این ایتم را به موجودیت ها ی (inventioy ) اکتور هدف قرار بده
سومین متد برای برای دادن اسلحه به یک پلایر استفاده از Pawn.GiveWeapon() بود . عملکرد این تابع بدین صورت است که بدون کم کردن از جایی یا از چیزی اسلحه ای را به کارکتر میاد و به جای جایگزینی و جابه جایی اسلحه ان را در قسمت اسلحه یا همان سیستم ذخیره سازی اسلحه کارکتر ایجاد می کرد .
تا اینجا با متد های دادن اسلحه به کارکتر ها اشنا شدیم . حال اگر تعداد بیشتری اسلحه در اختیار ما باشد باید چه کار کنیم . ؟ چه طور می توانیم سلاح های قبلی و بعدی را فعال و قابل استفاده کنیم ؟
نکته این مورد استفاده از توابع PlayerController.NextWeapon() یا PlayerController.PrevWeapon() و
تابع اجرایی InventoryManager.SwitchToWeaponClass() می باشد
این توابع به صورت منطقی عملکرد سیستم ذخیره سازی ایتم های شما را طوری تنظیم می کنند که هنگامی که اسلحه جدیدی در اختیار شما قرار گرفته شد تابع InventoryManager.SetCurrentWeapon() برای قرار دادن این سلاح به عنوان سلاح پیش فرض شما صدا زده شود .
SetCurrentWeapon() نقطه ی شروع پروسه ساخت اسلحه ماست .این تابع تنها یک پارامتر را می گیرد
DesiredWeapon که بیان کننده و اشاره کننده به اسلحه ای است که شما می خواهید استفاده کننید .
حال به شکل زید دقت کنید . در شکل زیر می توانید عملکرد این سیستم را مشاهده کنید :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
)))))به امید اینکه تنبلی نکنم و بازم حسسش بیاد این مقاله رو ادامه بدم :31: