اطلاعیه

Collapse
No announcement yet.

کمک در مورد حرکت شیء بر روی GLCD

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک در مورد حرکت شیء بر روی GLCD

    سلام دوستان
    من می خواهم یک عکس را روی GLCD حرکت دهم
    به این شیوه عمل میکنم که تک تک پیکسل های شیٔ را پاک کرده و دوباره آن ها را یک واحد جابه جا میکنم و دوباره میکشم

    *اگر شیآ‌ٔ خاص باشد مثل مربع : برای حرکت دادن آن راه بهتری است به این صورت که یک ردیف از پیکسل ها را پاک میکنیم و
    یک ردیف پیکسل به طرف حرکت اضافه میکنیم
    این روش تعداد کلاک های واردی به GLCD را به شدت کاهش میدهد و از چشمک زده شیٔ جلو گیری میکند

    #2
    پاسخ : کمک در مورد حرکت شیء بر روی GLCD

    ولی این روش عمومیت ندارد و باید از روش کلی که در بالا گفتم انجام داد
    مثلا اگر دایره باشد من کل پیکسل ها را پاک میکنم و دوباره یک واحد افضایش میدهم و سپس میکشم
    که این کار به شدت به کلاک های اضافی نیاز دارد
    و باعث چشمک زدن شیٔ می شود
    آیا کسی روشی بهتر برای این کار دارد که از چشمک زدن شیٔ جلو گیری کند
    و البته روش کلی باشد

    دیدگاه


      #3
      پاسخ : کمک در مورد حرکت شیء بر روی GLCD

      به جای اینکه همه رو پاک کنی (که نتیجش میشه همون چشمک زدن) شما بدون توجه به مقدار قبلی ، مقدار جدید رو اونجا بنویس یا بکش

      دیدگاه


        #4
        پاسخ : کمک در مورد حرکت شیء بر روی GLCD

        نوشته اصلی توسط mojalan
        به جای اینکه همه رو پاک کنی (که نتیجش میشه همون چشمک زدن) شما بدون توجه به مقدار قبلی ، مقدار جدید رو اونجا بنویس یا بکش
        اگه من بخوام کامل تر کنم اینه که یه منطقه مجازی برای خودتون درست کنید که سایز اون مربع هست.بعد مقدار قبلی این منطقه مجازی رو پاک کنید و دوباره تو یه پیکسل جلوتر رسم کنید. اینجوری به جای درگیری با کل صفحه یه منطقه رو تغییر میدید.
        البته میشه اختلاف دو تا ناحیه رو حساب کرد و تغییرات رو اعمال کرد اما بیشتر کار داره و فقط برای شکل های solid خوب از آب در میاد.
        [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

        دیدگاه


          #5
          پاسخ : کمک در مورد حرکت شیء بر روی GLCD

          سلام من تو این مایه ها جواب گرفتم
          :icon_razz:
          If V1 = 1 Then
          X(14) = 1
          X(19) = 0
          Else
          X(14) = 0
          X(19) = 1
          End If
          Line(26 , 8) -(26 , 10) , X(14)
          Line(27 , 7) -(27 , 11) , X(14)
          Line(28 , 6) -(28 , 12) , X(14)

          Pset 14 , 4 , X(14)

          Line(15 , 3) -(15 , 5) , X(14)
          Line(16 , 2) -(16 , 6) , X(14)
          Pset 29 , 14 , X(19)
          Pset 28 , 15 , X(19)
          خدایا مرا آن ده که آن به

          دیدگاه

          لطفا صبر کنید...
          X