امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
اشکال در لودImage
نویسنده پیام
leila5552 آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #12
 
نه اولین برنامه sprite که توی شروع game گفته شده را می گم. برنامه عین کتابه ولی sprite ها رو نش.ن نمیده. میشه شما هم یه امتحان بکنید؟
۱۳-مرداد-۱۳۸۶, ۱۸:۵۶:۲۱
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #13
 
الان که کتاب پیشم نیست
کد ها رو هم باید توی پروژه بهم بدی یه پروزه ساختم اینا رو سر هم کردم بعد دیدم دو تا فایل کنار هم کد هاشو گذاشتی
اگه خواستی کل پروزه رو با عکسش بده ببینم مشکل کجاست اینجوری کلی باید عکس بسازم و ... ولی اونجوری سریع تر می شه جواب داد

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۱۴-مرداد-۱۳۸۶, ۱۱:۰۱:۴۹
وب سایت ارسال‌ها
پاسخ
leila5552 آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #14
 
اولی کد وربوط به میدلت اصلی و کد game canvas دومی هست :



[/code]
کد:
* mainlMidlet.java
*
* Created on August 26, 2007, 11:44 AM
*/

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
*
* @author Leila
*/
public class mainlMidlet extends MIDlet {
    private Display display;
    private ExampleGameCanvas gameCanvas;
    
    /** Creates a new instance of mainlMidlet */
    public mainlMidlet() {
        
    }
    
// --- This section is auto-generated by NetBeans IDE. Do not modify or you may lose your changes.//<editor-fold id="MVDMethods" defaultstate="collapsed" desc="This section is auto-generated by NetBeans IDE.">                      
    /**
     * This method initializes UI of the application.
     */
    private void initialize() {
    }
    
// --- This is the end of auto-generated section.//</editor-fold>                    
    
    public void startApp() {
        try{
          
            display=Display.getDisplay();
            gameCanvas =new  ExampleGameCanvas();
            gameCanvas.start();
            display.setCurrent(gameCanvas);
        }
        catch(Exception ex){
            System.out.println(ex);
        }
    }
    
    public void pauseApp() {
    }
    public Display getDisplay(){
        return display;
    }
    public void destroyApp(boolean unconditional) {
        notifyDestroyed();
    }
  
********************************************************
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;

/**
*
* @author Leila
*/
  public class ExampleGameCanvas extends GameCanvas implements Runnable {

    private boolean isPlay;
    private long delay;
    private int currentX,currentY;
    private int width,height;
    private Sprite sprite;
    private Sprite tempsprite;
    Image image;
    public ExampleGameCanvas(mainlMidlet main) throws Exception {
        super(true);
        
        width=getWidth();
        height=getHeight();
        currentX=width/2;
        currentY=height/2;
        delay=20;
        //Load Images to sprite
        
        image=Image.createImage("/1.PNG" );
        Image temp=Image.createImage("/2.PNG");
        sprite=new Sprite(image, 32, 32);
        tempsprite=new Sprite(temp,32, 32);
    }
    //Automatically start thread for game loop
    public void start(){
        isPlay=true;
        Thread  t = new Thread(this);
        t.start();
    }
    public void stop(){
        isPlay=false;
    }
    public void run(){
        Graphics g=getGraphics();
        while(isPlay==true){
            input();
            drawScreen(g);
            try{
                Thread.sleep(delay);
            }
            catch(InterruptedException ie){}
        }
    }
    private void input(){
        int keyState=getKeyStates();
        sprite.setFrame(0);
        if((keyState & LEFT_PRESSED)!=0){
             currentX=Math.max(0,currentX-1);
             sprite.setFrame(1);
        }
         //right
         if((keyState & RIGHT_PRESSED)!=0)
             if(currentX+14<width){
                currentX=Math.min(width,currentX+1);
                sprite.setFrame(3);
         }
         //up
         if((keyState & UP_PRESSED)!=0){
             currentY=Math.max(0,currentY-1);
             sprite.setFrame(2);
         }
         //down
         if((keyState & DOWN_PRESSED)!=0)
             if(currentY+14<height){
                currentY=Math.min(height,currentY+1);
                sprite.setFrame(4);
             }
    }
    
    private void drawScreen(Graphics g){
         g.setColor(255, 0, 0);
         g.fillRect(0,0, getWidth(), getHeight());
         g.setColor(0,0, 255);
         //display sprites
         sprite.setPosition(currentX, currentY);
         sprite.setFrame(0);
         sprite.setVisible(true);
         sprite.paint(g);
         tempsprite.paint(g);
         flushGraphics();
    }
}

عکسا رو هم به میلتون میفرستم.
<ha_60@yahoo.com>
۱۴-مرداد-۱۳۸۶, ۱۴:۰۶:۲۴
ارسال‌ها
پاسخ
leila5552 آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #15
 
میشه بگید این ارور مال چیه؟
Application descriptor does not declare any MIDlet. Direct execution is not allowed.
۱۴-مرداد-۱۳۸۶, ۲۰:۵۷:۵۸
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #16
 
یه چنین چیزی یادت رفته تعریف کنی

کد:
public class mainlMidlet extends MIDlet {
می گه میدلت اصلی نداری

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۱۵-مرداد-۱۳۸۶, ۰۹:۱۸:۴۳
وب سایت ارسال‌ها
پاسخ
leila5552 آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #17
 
جواب سوال قبلیم را ندادید. Sprite رو نمی تونم نشون بدم
برنامه رو براتون گذاشتم عکس رو هم به میلتون فرستادم.
۱۶-مرداد-۱۳۸۶, ۱۰:۵۹:۴۰
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #18
 
ببین سورس رو کپی می کنی اینجا فایده نداره فولدر رو باید کولش رو زیپ کنی یه جا آپ لود کنی نه این که بچسبونی به هم من دوباره پروزه تعریف کنم این کد ها رو تیکه تیکه بجشبونم توش
مشکلت توی سایز عکس هاست باید همونی باشه که توی برنامه نوشتی 32*32 نه 40*40
دفعه بعد هم کل فولدر برنامه رو بفرست

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۱۷-مرداد-۱۳۸۶, ۱۲:۲۶:۴۰
وب سایت ارسال‌ها
پاسخ
leila5552 آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #19
 
کل فایل رو براتون فرستادم.
۱۸-مرداد-۱۳۸۶, ۰۱:۴۸:۴۵
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #20
 
http://www.iranled.com/Download/sprite2.rar
اولا سایز عکس درست نبود
کد:
sprite=new Sprite(image, 32, 54);
        tempsprite=new Sprite(temp,40, 40);
ثانیا لایر منیجر رو تا وقتی یه شئی ازش نسازی نمی تونی استفاده کنی من کلا حذفش کردم
کد:
sprite.setVisible(true);
         sprite.paint(g);
         //layerManager.paint(g, 10, 30);

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۱۸-مرداد-۱۳۸۶, ۱۸:۳۷:۰۴
وب سایت ارسال‌ها
پاسخ
leila5552 آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #21
 
ممنون از کمکتون. ولی توی کتاب همین جوری نوشته بود.
۲۰-مرداد-۱۳۸۶, ۲۰:۱۲:۳۹
ارسال‌ها
پاسخ
leila5552 آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #22
 
سلام . من بازم تو لود عکس مشکل پیدا کردم. برنامه ای که دارم می نویسم جای عکسش مثل عکس دلار توی لیست مثال TeleTransfer هست. توی این مثال هم نتونسته بودم عکسش رو لود کنم. مثالش رو به میلتون میفرستم.
لطفا کمکم کنید...
۲۶-مرداد-۱۳۸۶, ۱۹:۴۰:۳۵
ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 5 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS