۱۳-مرداد-۱۳۸۶, ۱۸:۵۶:۲۱
۱۴-مرداد-۱۳۸۶, ۱۱:۰۱:۴۹
الان که کتاب پیشم نیست
کد ها رو هم باید توی پروژه بهم بدی یه پروزه ساختم اینا رو سر هم کردم بعد دیدم دو تا فایل کنار هم کد هاشو گذاشتی
اگه خواستی کل پروزه رو با عکسش بده ببینم مشکل کجاست اینجوری کلی باید عکس بسازم و ... ولی اونجوری سریع تر می شه جواب داد
کد ها رو هم باید توی پروژه بهم بدی یه پروزه ساختم اینا رو سر هم کردم بعد دیدم دو تا فایل کنار هم کد هاشو گذاشتی
اگه خواستی کل پروزه رو با عکسش بده ببینم مشکل کجاست اینجوری کلی باید عکس بسازم و ... ولی اونجوری سریع تر می شه جواب داد
۱۴-مرداد-۱۳۸۶, ۱۴:۰۶:۲۴
اولی کد وربوط به میدلت اصلی و کد game canvas دومی هست :
[/code]
عکسا رو هم به میلتون میفرستم.
<ha_60@yahoo.com>
[/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>
۱۴-مرداد-۱۳۸۶, ۲۰:۵۷:۵۸
میشه بگید این ارور مال چیه؟
Application descriptor does not declare any MIDlet. Direct execution is not allowed.
Application descriptor does not declare any MIDlet. Direct execution is not allowed.
۱۵-مرداد-۱۳۸۶, ۰۹:۱۸:۴۳
یه چنین چیزی یادت رفته تعریف کنی
می گه میدلت اصلی نداری
کد:
public class mainlMidlet extends MIDlet {
۱۶-مرداد-۱۳۸۶, ۱۰:۵۹:۴۰
جواب سوال قبلیم را ندادید. Sprite رو نمی تونم نشون بدم
برنامه رو براتون گذاشتم عکس رو هم به میلتون فرستادم.
برنامه رو براتون گذاشتم عکس رو هم به میلتون فرستادم.
۱۷-مرداد-۱۳۸۶, ۱۲:۲۶:۴۰
ببین سورس رو کپی می کنی اینجا فایده نداره فولدر رو باید کولش رو زیپ کنی یه جا آپ لود کنی نه این که بچسبونی به هم من دوباره پروزه تعریف کنم این کد ها رو تیکه تیکه بجشبونم توش
مشکلت توی سایز عکس هاست باید همونی باشه که توی برنامه نوشتی 32*32 نه 40*40
دفعه بعد هم کل فولدر برنامه رو بفرست
مشکلت توی سایز عکس هاست باید همونی باشه که توی برنامه نوشتی 32*32 نه 40*40
دفعه بعد هم کل فولدر برنامه رو بفرست
۱۸-مرداد-۱۳۸۶, ۰۱:۴۸:۴۵
کل فایل رو براتون فرستادم.
۱۸-مرداد-۱۳۸۶, ۱۸:۳۷:۰۴
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);
۲۰-مرداد-۱۳۸۶, ۲۰:۱۲:۳۹
ممنون از کمکتون. ولی توی کتاب همین جوری نوشته بود.
۲۶-مرداد-۱۳۸۶, ۱۹:۴۰:۳۵
سلام . من بازم تو لود عکس مشکل پیدا کردم. برنامه ای که دارم می نویسم جای عکسش مثل عکس دلار توی لیست مثال TeleTransfer هست. توی این مثال هم نتونسته بودم عکسش رو لود کنم. مثالش رو به میلتون میفرستم.
لطفا کمکم کنید...
لطفا کمکم کنید...