Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

文字を流す

画像から文字を読み取って、一個一個右から左に流したい(配列で)のですが、文字を一つずつ表示させることができません。教えてくれるとさいわいです。


package jp.game01.java01;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;

public class zenkikadai {

    static    final    int    Max=11;//変数を定数として扱う
    static    final    int    Sp=500;//変数を定数として扱う



    BufferedImage tk0PNG;//背景の読み込むメモリ宣言

    public static float[] QX=new float[Max];
    public static float[] QY=new float[Max];
    
    float[]    Px=new float[Max];//座標 x
    float[]    Py=new float[Max];//座標 y
    
    float[] SPx=new float[Max];//初速
    float[] SPy=new float[Max];//初速
    float[] SPxg=new float[Max];//加速度
    float[] SPyg=new float[Max];//加速度
    int  []  PX={200,220,120,280,200,320,240,120,200,100,40};//文字座標
    int  []  PY={60,80,60,60,60,80,60,60,60,60,60};//文字座標
    
    float[] timer=new float[Max]; //出現タイマー
    //----------------
    //    ○敵コンストラクタ
    //----------------
    zenkikadai(){

        Load();
        for(int i=0;i<Max;i++){
            Px[i]=000;
            Py[i]=000;
            SPx[i]=-Sp;
            SPy[i]=000;
        }//for ned

    }//コンストラクタ end
    //---------------
    //    ○敵処理
    //----------------
    void    Update(){

    
    }//Update end

    //---------------
    //    ○敵読み込み
    //----------------
    void    Load(){
        try {
            tk0PNG= ImageIO.read(getClass().getResource("Chara/ascii.png"));
        } catch (IOException e) {
            e.printStackTrace();
        }

    }//Load end

    //---------------
    //    表示
    //----------------
    void    Draw(Graphics    g){

        for(int i=0;i<Max;i++){

        //○敵
        g.drawImage(tk0PNG,

                (int)Px[i],(int)Px[i],Game_Main.Wind);//背景画像の表示
            
        }

    }//Draw end



}//class end




2

回答

93183

閲覧

2件の回答

評価

0

http://d.hatena.ne.jp/aidiary/20040918/1251373370

この掲示板で聞くより、こちらの作者に意見を聞いてみら
ったいいんじゃないかな。サンプルもたくさんあるし。

評価

0

画面上での「繰り返し」には、座標という意味と、時間的な
意味とがある。
ある文字を「動かす」場合、時間的に繰り返さないとだめ
だ。

ある時間にある座標、次のある時間に別の座標…と考える。
こういうときは、大抵「タイマー」という機能を使う。

「一回書いたら一定時間処理を止める」を繰り返してもでき
ないことはないし、タイマーがなければそうするしかない
が。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。