الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة لم استطع فهمها في الجافا ( رسوميات )

بدأه agent99 في 22 ديسمبر 2011 · 3 رد · 362 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا كنت ابحث عن طريقة بحيث اعيد رسم بعض الاشكال من دون الاخرى في دالة paint , فوجدت طريقة لكن !

هذه هي الطريقة

int count=0;

 

int count=0;

public void paint(Graphics g2)
    {


if(count==0)
{

 drawRec(g2);


 d[1][1]=drawDirty(1,1);
 d[1][1].draw(g2);
     g2.setColor(Color.blue);
   cir.draw(g2);
        }


count++;


   if(cir.centerX==d[1][1].centerX&&cir.centerY==d[1][1].centerY)
   {
       d[1][1].centerX=600; d[1][1].centerY=600;
       down(1,25);
        }

 else if (cir.centerX == d[1][1].centerX)
     {
       if(cir.centerY<d[1][1].centerY)
           down(1,25);
       else
           up(1,25);
     }  
 else
     foward(1,25);

   if(cir.centerY<=b/6+115||cir.centerY>=b/6+2*b/3+115)
   foward(1,25);



        }

  public Circle drawAg(int x,int y)
    {

        int []X=new int[18];
    int []Y=new int[18];

   for(int i=0; i<18; i++)
   {
       X=(a/12)+i*(a/6)+115;
   }
       for(int j=0; j<18; j++)
       {
           Y[j]=(b/6)+(b/3)*j+115;

           }
    Circle c=new Circle(X[x],Y[y],30);
return c;
  }


public void foward(int amountX,int slow)
    {

cir.centerX=(cir.centerX + amountX);


    repaint();
  try {
                                Thread.sleep(slow);
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
}

public void back(int x,int slow)
    {
    cir.centerX=(cir.centerX -x);

repaint();
 try {
                                Thread.sleep(slow);
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
}

public void up(int y,int slow)
    {
cir.centerY= (cir.centerY -y);
repaint();
 try {
                                Thread.sleep(slow);
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
}

public void down(int y,int slow)
    {
cir.centerY= (cir.centerY +y);
repaint();

 try {
                                Thread.sleep(slow);
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
}

public Circle drawDirty(int x,int y)
    {

    int []X=new int[18];
    int []Y=new int[18];



   for(int i=0; i<18; i++)
   {
       X=(a/12)+i*(a/6)+115;
   }
       for(int j=0; j<18; j++)
       {
           Y[j]=(b/6)+(b/3)*j+115;

           }

    Circle c=new Circle(X[x],Y[y], 30);


   return c;

}

عرفت متغير يساوي صفر و تزيد قيمته بعد تنفيذ paint و بعدها في شرط هل count تساوي الصفر ام لا , اذا كانت لا تساوي , لا يعيد تنفيذها لكن اذا شغلت البرنامج لا ارى شيئا مرسوم ,, هل هل repaint تمسح كل شي و تعيد رسمه ؟؟؟

اتمنى ان تساعدوني

تم تعديل هذه المشاركة بواسطة agent99 في 22 ديسمبر 2011 في 22:03

#2

السلام عليكم

اقرا هذا الموضوع ربما ينفعك

http://www.arabteam2...howtopic=253289

تم تعديل هذه المشاركة بواسطة sahraoui17 في 23 ديسمبر 2011 في 09:56

#3
sahraoui17 كتب:

السلام عليكم

اذا كنت تريد حذف عناصر محددة في المرة الثانية للرسم

الفكرة هي انك ترسم مستطيل شفاف حول النافذة و تعيد رسم الاشكال الجديدة مع حذف التى تريدها

اقرا هذا الموضوع ربما ينفعك

http://www.arabteam2...howtopic=253289

عفوا لم اعلم انك انت صاحب الموضوع الاخر ROFL.gif

#4

هلا أوضحت السؤال أخي

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…