javaをやっています。

環境はeclipseです。

for(int i=0; i<cx.length; i++){
cx[i] -= 2;
if(cx[i]<-409){ cx[i] = 480;

g.drawImage(img_cloud, cx[i], cy[i], mainwindow);
}

こういう文があるんですが、 cx[i], cy[i], lengthすべてに赤破線が引かれてしまいます。
テキスト通りなのですが、どこをどう直したらよいか分かりません。どうしたらいいでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

もっと初歩から始めたほうがいいと思うの。


お勧めはソフトバンククリエイティブから出ている「やさしいJava」
伊達にベストセラーじゃない。

間違いはウェブ上で正誤表をゲット。

昔はいいサイトがあったんだけど
今なくなっちゃったのよね。
取り合えず次点のサイトを紹介。
http://www.javaroad.jp/index.htm
ここにも掲示板あるけど
ここの掲示板は初心者向けじゃないので
掲示板の利用はお勧めできない。
    • good
    • 0
この回答へのお礼

ありがとうございました。

今持ってるのがよくないものかどうかは分かりませんでしたが

自分の読み方が正しくないものと察して

とりあえずそれをやってみることにします。

また質問したときにはよろしくお願いします。

お礼日時:2011/04/25 12:04

可能性として考えられるのは



・テキストがよくない
・テキストの読み方がよくない

どっちかだわ。

この回答への補足

テキストは15歳からはじめるシリーズの

javaオンラインゲームプログラミング教室です。

このシリーズ基本使うことに決めたんですが、

よくない系でしたら、何かおすすめできるものを

教えてくださると助かります。

アマゾンで購入したのですが、たくさんあってどれがいいのかまったくわかりません。

東京とかだったらアマゾンで見れるものはたいてい書店にあると思います。

見比べて買えるのですが、そんな環境ではないので利用せざるをえない場合があります。

オンラインゲーム、iアプリゲーム、アンドロイド、iphone,ipadといろいろやりたいです。

ゲームにこだわってるわけではないです。でもできるようにしておきたいです

当てはまるものがあったらぜひお願いします。

補足日時:2011/04/24 09:57
    • good
    • 0

最初の


for(int i=0; i<cx.length; i++){
cx[i] -= 2;
if(cx[i]<-409){
cx[i] = 480;
}
g.drawImage(img_cloud, cx[i], cy[i], mainwindow);
}
がどこにも見当たらないわね。
恐らく
// 雲描画
のところを置き換えるのかしらと推測。

とは言え、
やっぱりどこにも変数cx、cyが宣言されていないわね。
宣言どころか値を格納すらしていない。

宣言の方法は教えられるけど、何の値を格納していいのかは分からないわ。

どこで見つけてきたコードなのか分からないけど
抜けているコードを見つけないと動かせないわよ。

この回答への補足

最初の
for(int i=0; i<cx.length; i++){
cx[i] -= 2;
if(cx[i]<-409){
cx[i] = 480;
}
g.drawImage(img_cloud, cx[i], cy[i], mainwindow);
}
は//雲描画の後に挿入してください。


//雲描画
for(int i=0; i<cx.length; i++){
cx[i] -= 2;
if(cx[i]<-409){
cx[i] = 480;
}
g.drawImage(img_cloud, cx[i], cy[i], mainwindow);
}

g.dispose();//描画終了    となります。

 :
は省略に使いました。書ききれなかったので。

前のにも書きましたがこれがテキストの全文です。

エラーとか出たときに警告マークをクリックして~を作成するみたいなのがあるのですが
あれはテキストには載っていません。たとえ作成しても実行できないんですけどね。

テキストの文は丸写しではだめだということでしょうか?

とりあえず宣言と格納について教えてください

補足日時:2011/04/24 00:03
    • good
    • 0

askaaska さんの言うとうりです!!



cx xy の変数宣言がしっかりできていれば、これでよいにでは・・・
とにかくコンパイルは通るのですか?

>> cx[i], cy[i], lengthすべてに
とありますが、これは変数部分に関してのことのようです
しかしこの構文だけでは判断できかねますが?
    • good
    • 0

宣言していないからじゃない?



eclipseなら問題ビューに
エラーの内容が記述されていると思うけど。

テキスト通りといっても
あなたの記述しているのは
コードのごく一部のようだけど
そもそもそのテキストには
コードの全文が載っているの?

この回答への補足

import java.awt.Graphics;
import java.awt.Image;
import java.awt.Insets;
import java.awt.image.BufferStrategy;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;

import javax.imageio.ImageIO;
import javax.swing.JFrame;

public class chap3_ {
/**
* @param args
*/
public static void main(String[] args){
new chap3_();
}
JFrame mainwindow;
BufferStrategy buffer;
BufferedImage img_back,img_cloud,
img_jiki, img_teki, img_title;

//コンストラクタ
public chap3_(){
this.mainwindow = new JFrame("ゲームウィンドウ");
this.mainwindow.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.mainwindow.setVisible(true);
// ウィンドウサイズ設定
Insets in = this.mainwindow.getInsets();
this.mainwindow.setSize(480 + in.left + in.right ,
360 + in.top + in.bottom);
//画像読み込み
try {
this.img_back =
ImageIO.read( this.getClass().getResource("s_back.png"));
this.img_cloud =
ImageIO.read( this.getClass().getResource("s_cloud.png"));
this.img_jiki =
ImageIO.read( this.getClass().getResource("s_jiki.png"));
this.img_teki =
ImageIO.read( this.getClass().getResource("s_teki.png"));
this.img_title =
ImageIO.read( this.getClass().getResource("s_title.png"));

} catch (IOException e) {
e.printStackTrace();
}
//バッファ作成
this.mainwindow.setIgnoreRepaint(true);
this.mainwindow.createBufferStrategy(2);
this.buffer = this.mainwindow.getBufferStrategy();
//タイマー作成
Timer t = new Timer ();
t.schedule(new GameTask(),0,50);

}

class GameTask extends TimerTask{

@Override
public void run(){
if (buffer.contentsLost() == false){
Graphics g = buffer.getDrawGraphics();

Insets ins = mainwindow.getInsets();
g.translate(ins.left, ins.top); //原点調整
g.drawImage(img_back, 0, 0, mainwindow);
//雲描画
for(int i=0; i<cx.length
            :
g.dispose(); //描画終了
buffer.show()
  }
 }
}
}     以上が全文です。宣言の仕方を教えてください。

補足日時:2011/04/22 18:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング