رفتن به مطلب

امین مهدی نژاد

معاون انجمن
  • تعداد ارسال ها

    716
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    135

تمامی مطالب نوشته شده توسط امین مهدی نژاد

  1. از جهات مختلف میشه به سوال شما جواب داد. تنوع انواع مختلف بازی گونه مختلف بازی زیاد هستند همانند بازی های کلماتی بازی های کارتی بازی های بردی بازی های دو بعدی بازی های ایزومتریک و 2.5 بعدی بازی های سه بعدی در این باره کاملا مشخصه هر چه گرافیک بازی پیچیده تر بشه استفاده از انجین های بازی سازی بصرفه تر خواهد بود و بالعکس در بازی های ساده تر استفاده از IDE های برنامه نویسی مثل بی فور ساده تر خواهد بود وضعیت ساخت بازی با بی فور اگر به وضعیت فعلی در تولید بازی توسط بیسیک فور اندروید بپردازیم هم همونطوری که در انجمن خودمون شاهد اون هستیم فعالیت هایی در زمینه بازی هایی حتی دوبعدی هم بوده ایم. البته نمونه ای در انجمن ما در زمینه بازی سه بعدی با بی فور دیده نمیشه. در کل برخی از بازی های پر فروش مارکت های ایرانی توسط بی فور تولید شده اند وضعیت ساخت بازی سه بعدی با JPCT کتابخانه JPCT به عنوان کتابخونه ای برای ساخت بازی سه بعدی در اندروید(جاوا و بیسیک) هم نمونه هایی دارد مثلا بازی Naroth‏ که بیش از صدهزار نصب در مارکت گوگل داشته هم مشخص میکنه که ساخت بازی با این کتابخونه در سطح جهانی هم دیده می شود. کتابخانه های بازی سازی در بیسیک طبق مطلبی که در سایت B4X ارائه شده کتابخونه های زیر برای بازی سازی در بیسیک مطرح شده اند Game engines: LibGDX, RSAndEngine. Rendering: OpenGL, OpenGL2, jPCT-AE, GameView, Accelerated Surface, Game Sprite. Animation: Animation, AnimationPlus, NineOldAndroids, TweenEngine. Audio: MediaPlayer, SoundPool, AudioTrack, OpenSL. Input: Gesture Detector, PhoneAccelerometer. Artificial intelligence: SteeringBehaviors. Physics: JBox2D, ABPhysics. Files/data: JSON, SQL, XML, RandomAccessFile. Networking/multiplayer: Network, HTTP, GamePlayServices. متن کامل توضیحات اون در اینجا می توانید مشاهده کنید. حالا این با شماست که چه روشی رو برای کار خود انتخاب نمایید. «موفق باشید.»
  2. این سورس از طریق دیکامپایلر های جاوا سعی میکنه فایل xml مناسب اون رو برای استفاده در بیسیک فراهم کنه یعنی فایل jar به اون داده و لیست کلاس ها، متدها و فیلدهای اون رو آورده و از این طریق می تونین اونها رو انتخاب و استفاده کنید. البته این سورس برای کتابخونه های کوچک جواب میده و به دلیل وقت گیر بودن اونو توسعه ندادم . و سورسش رو قرار دادم تا اگر کسی تمایل داشت اونو گسترش بده
  3. متاسفانه مشغله زیادی دارم و نمیشه وقت گذاشت
  4. همون رو به کتابخونه افزودم.
  5. نسخه جدید بارگذاری شد افزودن رویداد قطع ارتباط با سرور EVENT_DISCONNECT مثال ir.On(ir.EVENT_DISCONNECT) و رویداد Sub disconnect(obj As Object) Log("disconnect") End Sub «موفق باشید.»
  6. نه با جاوا آبجکت می شه ولی استفاده از ورژن جدید بهتره . تا جمعه صبر کنید.
  7. سلام. تلگرام پرسیدی جواب دادم ولی چک نکردی جمعه ورژن جدید رو می زارم اگه عجله داری از تلگرام بپرس تا یه روش برات شرح بدم کارت راه بیوفته
  8. ترکیب php و node.js زیاد چیز جالبی از کار در نمیاد. نود گزینه مناسب و کاملی برای ساخت سرویس های بلادرنگ است. اگر سورس php رو زیاد پیش نرفتید اونو بی خیال بشید. البته با php هم میشه سوکت نویسی کرد ولی node.js استاندارد تر و برای اینکار مناسب تره. اگه با نود کار رو شروع کردی یه پیام با تلگرام برام بفرست. «موفق باشید.»
  9. // when the client emits 'new message', this listens and executes socket.on('new_message', (data) => { // we tell the client to execute 'new message' socket.broadcast.emit('new_message', { username: socket.username, message: data }); });
  10. فعلا تنها کتابخونه ای که در انجمن برای اینکار وجود داره همین کتابخونه است. کار کردن لاهاش هم زیاد سخت نیست سعی کنید مثالش رو اجرا کنید تا کار دستتون بیاد اگه سوال یا مشکلی دارید با جزئیات بیان کنید تا در صورت توان راهنمایی کنم. «موفق باشید.»
  11. قبلا آموزشی قرار داده بودم. اگه جستجو می کردی پیدا میشد. «موفق باشید.»
  12. نسخه جدید رو دریافت کن
  13. امین مهدی نژاد

    دریافتirMediaLoader

    مشاهده فایل irMediaLoader استفاده گسترده از کتابخانه های کش تصاویر مانند گلاید و یا پیکاسو بشدت مرسوم شده. کش کردن اصوات و ویدئوها هم می تواند بسیار کاربردی و مناسب باشد. این کتابخانه دارای قابلیت های زیر می باشد. کش کردن مدیا ها همزمان با پخش آن پخش موارد دانلود شده در هنگام آفلاین سازگار با انواع پلیرها دانلود جریان استریم قبل از پخش ارسال کننده amin_mn ارسال ۹۷/۰۶/۰۷ دسته کتابخانه ها  
  14. امین مهدی نژاد

    دریافتirSocket.io

    مشاهده فایل irSocket.io کتابخونه ای برای ساخت سرویس های بلادرنگ قابل استفاده در چت و یا بازی و اپ هایی که اطلاعات را به صورت آنی مانند: اطلاعات ارز و بورس قابل استفاده می باشد. ارسال کننده امین مهدی نژاد ارسال 08/17/2018 دسته کتابخانه ها
  15. چند وقتی مشغله زیادی دارم و از پشتیبانی کتابخونه ها ناتوان. با این شرایط محصولات فروشگاهی خودم رو به رایگان قرار می دهم تا کسانی که لازم دارند استفاده کنند. ولی خب پشتیبانی اونها رو تا آزاد شدن وقتم نمی توانم انجام دهم.

    امیدوارم همه دوستان در کارهاشون موفق باشند.

    :53:

    در ضمن تلگرامم رو هم چند وقتی قطع نمودم. ولی خب پیام های انجمن رو هر از چند گاهی چک می کنم. امیدوارم  دوستانی که در تلگرام با هم در ارتباط بودیم از نبودنم دلخور نشوند.:heart:

    1. Gray Mind

      Gray Mind

      موفق باشی

      ان شاءالله زودتر حل بشه مشکلاتت و وقتت آزاد شه :gamer:

    2. ali mo
  16. به سورس زیر دقت کنید. یبار اون رو امتحان کنید تا همه چی دستتون بیاد. Sub Globals Dim ir As irFFMPEGPro Dim tim As Timer Private Label1 As Label End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout1") ir.install(File.OpenInput(File.DirAssets,"ffmpeg"),"ffmpeg") ir.init("ffmpeg") tim.Initialize("tim",500) End Sub Sub tim_Tick If ir.LOGTAG=="Ending FFMPEG" Then tim.Enabled=False ToastMessageShow("End",True) Else Label1.Text=ir.LOGTAG End If End Sub Sub Button1_Click tim.Enabled=True SliceAudio End Sub 'جداسازی قسمتی از صدا' Sub SliceAudio tim.Enabled=True Dim str(8) As String str(0)="ffmpeg" 'زمان' str(3)="-t" str(4)="60" 'از زمان' str(1)="-ss" str(2)="0" 'فایل ورودی' str(5)="-i" str(6)=File.DirRootExternal&"/a.mp3" 'فایل خروجی' str(7)=File.DirRootExternal&"/b.mp3" ir.run(str) End Sub 'تغیر سایز ویدئو' Sub ResizeVideo tim.Enabled=True Dim str(10) As String str(0)="ffmpeg" 'فایل ورودی' str(1)="-i" str(2)=File.DirRootExternal&"/c.mov" 'data rate' str(3)="-b:v" str(4)="64k" str(5)="-bufsize" str(6)="64k" 'سایز' str(7)="-vf" str(8)="scale="&320&":"&240 'فایل خروجی' str(9)=File.DirRootExternal&"/d.mp4" ir.run(str) End Sub 'تغیر سایز صدا' Sub ResizeAudio tim.Enabled=True Dim str(8) As String str(0)="ffmpeg" 'فایل ورودی' str(1)="-i" str(2)=File.DirRootExternal&"/a.mp3" 'data rate' str(3)="-codec:a" str(4)="libmp3lame" str(5)="-b:a" str(6)="125k" 'فایل خروجی' str(7)=File.DirRootExternal&"/d.mp3" ir.run(str) End Sub «موفق باشید.»
  17. باید از سمت سرور اونو مشخص کنید. مثلا در سورس زیر دقت کنید. // Setup basic express server var express = require('express'); var app = express(); var path = require('path'); var server = require('http').createServer(app); var io = require('../..')(server); var port = process.env.PORT || 3000; server.listen(port, () => { console.log('Server listening at port %d', port); }); // Routing app.use(express.static(path.join(__dirname, 'public'))); // Chatroom var numUsers = 0; io.on('connection', (socket) => { var addedUser = false; // when the client emits 'new message', this listens and executes socket.on('new_message', (data) => { // we tell the client to execute 'new message' socket.broadcast.emit('new_message', { username: socket.username, message: data }); }); // when the client emits 'add user', this listens and executes socket.on('add_user', (username) => { if (addedUser) return; // we store the username in the socket session for this client socket.username = username; ++numUsers; addedUser = true; socket.emit('login', { numUsers: numUsers }); // echo globally (all clients) that a person has connected socket.broadcast.emit('user_joined', { username: socket.username, numUsers: numUsers }); }); // when the client emits 'typing', we broadcast it to others socket.on('typing', () => { socket.broadcast.emit('typing', { username: socket.username }); }); // when the client emits 'stop typing', we broadcast it to others socket.on('stop_typing', () => { socket.broadcast.emit('stop_typing', { username: socket.username }); }); // when the user disconnects.. perform this socket.on('disconnect', () => { if (addedUser) { --numUsers; // echo globally that this client has left socket.broadcast.emit('user_left', { username: socket.username, numUsers: numUsers }); } }); }); این کد Node.js مناسب و هماهنگ برای سرویس موجود در بیسیک می باشد. همانطور که میبینید رویداد ها رو همانند نسخه بیسیک با On معرفی کرده اند پورت رو هم 3000 قرار داده شده است. منبع «موفق باشید.»
  18. ساخت سرویس چت در بیسیک فور اندروید این سرویس برای دریافت و مدیریت رویدادهای لازم برای چت روم می باشد. ابتدا متغیر سوکت رو به صورت عمومی می سازیم Sub Process_Globals Dim ir As irSocketIO End Sub اکنون سوکت را با آدرس و پورت سرور وصل می کنیم ir.getSocket("http://192.168.1.101:3000") حالا باید رویدادهایی برای وقایع مناسب تهیه کنیم. مثلا رویدادهای اتصال به سرور لاگین شدن به سرور اتصال کاربر جدید خروج کاربر دریافت پیام کاربر در حال نوشتن لغو در حال نوشتن کد زیر نمونه ای از این وقایع می باشد ir.On(ir.EVENT_CONNECT) ir.On("login") ir.On("new_message") ir.On("user_joined") ir.On("user_left") ir.On("typing") ir.On("stop_typing") هر یک از رویدادهای بالا در زمان وقوع سابی که هم نام خودشان باشد را اجرا می کنند یعنی این ساب ها را باید بسازیم Sub connect(obj As Object) Log("connect") End Sub Sub login(obj As Object) Log("login") End Sub Sub stop_typing(data As Object) Log("stop_typing") End Sub Sub new_message(data As Object) Log("new_message") End Sub Sub user_joined(data As Object) Log("user_joined") End Sub Sub user_left(data As Object) Log("user_left") End Sub Sub typing(data As Object) Log("typing") End Sub و اکنون ارتباط سرور را شروع می کنیم ir.connect می توانید در رویداد اتصال بلافاصله لاگین را انجام بدهیم ir.emit("add_user", "amin") و یا پیام های دریافتی را به یک اکتیویتی ارسال کنیم تا نمایش داده شوند Sub new_message(data As Object) CallSubDelayed2(Chat,"new_message",data) End Sub در اکتیویتی chat و به ساب new_message مقادیر ارسال می شوند. در هنگام نیاز می توانید رویداد های غیر لازم را غیر فعال نمایید. ir.Off("typing") خب در نهایت ممکن است چنین کدی داشته باشیم Sub Process_Globals Dim ir As irSocketIO End Sub Sub Service_Create End Sub Sub Service_Start (StartingIntent As Intent) ir.getSocket("http://192.168.1.101:3000") ir.On(ir.EVENT_CONNECT) ir.On("login") ir.On("new_message") ir.On("user_joined") ir.On("user_left") ir.On("typing") ir.On("stop_typing") ir.connect End Sub Sub Service_Destroy End Sub Sub connect(obj As Object) Log("connect") ir.emit("add_user", "amin"&DateTime.Now) End Sub Sub login(obj As Object) Log("login") End Sub Sub stop_typing(data As Object) Log("stop_typing") End Sub Sub new_message(data As Object) CallSubDelayed2(Chat,"new_message",data) End Sub Sub user_joined(data As Object) Log("user_joined") End Sub Sub user_left(data As Object) Log("user_left") End Sub Sub typing(data As Object) Log("typing") End Sub «موفق باشید.»
  19. سعی می کنم آموزش هاش رو طوری تهیه کنم که هم در بیسیک استفاده بشه و هم در جاوا .
  20. امین مهدی نژاد

    کتابخانه irSocket.io

    Socket.IO یک کتابخانه قدرتمند برای وب اپیلیکیشن‌ها است که یک ارتباط بلادرنگ و دوجهته بین کلاینت و سرور برقرار می‌کند و دارای دو قسمت است. یکی کتابخانه سمت کلاینت که در مرورگر اجرا می‌شود و یک کتابخانه سمت سرور بر پایه Node.JS. Socket.IO در اصل یک رابط برای پروتکل WebSocket است نه یک کتابخانه برای آن؛ در اصل یک پرتوکل انتقال سفارشی شده روی پروتکل‌های بلادرنگ دیگر است که یکسری قابلیت‌های بیشتر از قبیل ارسال پخشی به چندین سوکت، ذخیره داده‌های هر کلاینت و ارتباط نامتقارن را فراهم کرده است. یک مثال ساده بزنم که بهتر متوجه بشید. همتون تلگرام یا واتساپ و ... رو دیدین. یعنی به محض اینکه کاری انجام می‌دیم یا پیامی رو می‌فرستیم، سریع به دست گیرنده می‌رسه و سریع جوابش میاد که گیرنده پیام شما رو خونده. یعنی سرعت ارسال و دریافت اطلاعات بسیار بالا هست و بهش میگیم ارتباط بلادرنگ یا Realtime (زنده) وقتی از Socket به جای ارتباطات HTTP استفاده کنیم، هم سرعت کار و کیفیت کار بالاتر میره و هم فشار کمتری به سرور میاد. پس به جای اینکه چندین سرور قوی داشته باشیم و هزینه‌های زیادی بدیم، هم هزینه‌ها میاد پایین و هم نیازی به چند سرور قوی نیست و با سرورهای بسیار کمتری هم کار ما انجام میشه. منبع مثال در این دوره یاد می گیرید چگونه یک اپلیکیشن قدرتمند و داینامیک ایجاد نمایید . اگر شما قصد دارید که یک چیزی بسازید که بلادرنگ باشد Learning Path به شما کمک خواهد کرد . در این دوره شما می آموزید چگونه اپلیکیشن های بلادرنگ توسط Socket.IO – Express – Redis ایجاد نمایید . Socket.IO به شما در آمار های بلادرنگ – سیستم چت و ارتباط دو طرفه بین مرورگر و سرور کمک می کند . Redis درهایی را برای ذخیره سازی اطلاعات و دسترسی فوق سریع را برای شما باز می کند . و در آخر Express که به شما در ساخت یک اپلیکیشن با امکانات کامل کمک می کند . یک ترکیب قدرتمند از این سه مهم اپلیکیشن شما را خوفناک می کند و شما قادر خواهید بود تا اپلیکیشن خود را به سرعت , با مقیاس بالاتر و کاملا بلادرنگ ایجاد نمایید . لینک آموزش ویدئویی
  21. از منوی بالای صفحه قسمت فروشگاه و مدیریت خریدها رو انتخاب کنید.
  22. آموزش نحوه استفاده از کتابخونه کد زیر نمونه ای از گرفتن تصویر می باشد Sub Globals Private WebView1 As WebView Private ImageView1 As ImageView End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout1") Dim ir As irGetCaptcha ir.Initialize(WebView1,ImageView1) ir.getFromId("id") 'ir.getFromAlt("Alt Text here")' 'ir.getFromSrc("Src Attribute Text")' End Sub Sub Button1_Click WebView1.LoadUrl("http://example.com/") End Sub توضیحات: کد کاملا واضحی بنظر میاد و فقط سه متد داره که توضیح میدم getFromId : گرفتن تصویر امنیتی بر اساس id اون در تگ HTML صفحه مورد نظر getFromAlt : گرفتن تصویر امنیتی بر اساس ALT تگ در HTML صفحه مورد نظر getFromSrc :گرفتن تصویر امنیتی بر اساس SRC اون در تگ HTML صفحه مورد نظر «موفق باشید.»
  23. کتابخونه کار باهاش ساده تر از دمویی که از کتابخونه موجود در فروشگاه دیدم بنظر میاد. ولی کاربردش یکی هست من محصول فروشی کلا نزاشتم تا حالا.در ضمن از کتابخونه آقای نیکروان دو سال میگذره. و چون علاقه ای به خرید کتابخونه نداشتم و ندارم. چون چیزی که بخوام در گیتهاب پیدا میشه. از وجود چنین محصولی بی خبر بودم. در ضمن ما برای حفاظت از محصولات فروشگاه بعضی از موارد رو تا حالا ممنوع کرده بودیم که من سنت شکنی کردم و برای افزایش کیفیت و رشد بیشتر انجمن این مورد رو تغیر دادم. بالاخره رقابت باعث بهبود کیفیت میشه. «موفق باشید.»
  24. امین مهدی نژاد

    دریافتirGetCaptcha

    مشاهده فایل irGetCaptcha در بسیاری از اپ های کاربران گت المنت کردن کاربرد فراوانی دارد.و با این وجود گرفتن و نمایش کدهای امنیتی هم برای آنها نیاز فراوانی دارد. این کتابخانه بسادگی تصویر امنیتی را از وب ویو برای شما استخراج می کند. امکانات: گرفتن واعمال مستقیم تصویر به ایمیج ویو گرفتن تصویر بر اساس ID گرفتن تصویر بر اساس آدرس گرفتن تصویر بر اساس توضیحات موجود در خاصیت ALT منبع: GitHub - ismailkocacan/Android-Captcha-Handler: Android Captcha Handler توضیحات و نحوه استفاده در پست مربوطه قرار داده خواهد شد ارسال کننده امین مهدی نژاد ارسال 04/21/2018 دسته کتابخانه ها
  25. شماره نسخه رو ظاهرا درست وارد نکرده اند. شما بر اساس نام فایلی که دانلود کرده اید شماره نسخه اون ها رو تشخیص بدید. تا در نسخه بعدی اصلاح بشه «موفق باشید.»
×
×
  • اضافه کردن...