标题:请教高手,我的程序哪错了?
只看楼主
雨夜黑黑
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-12-20
得分:0 

各位高手,我有一题想实现水中倒影的,下面的原代码有问题,帮忙啊! Thanks
import java.awt.*;
import java.applet.*;
public class LX extends Applet implements Runnable
{
Thread animate;
Image img,buffer;
Graphics gContext;
int w,h;
public void init()
{
img=getImage(getCodeBase(),"hongyu.jpg");
MediaTracker tracker=new MediaTracker(this);
tracker.addImage(img,0);
try
{
tracker.waitForID(0);
}
catch (InterruptedException e){ }
w=img.getWidth(this);
h=img.getHeight(this);
buffer=createImage(2*w,h);
gContext=buffer.getGraphics();
gContext.drawImage(img,0,-h,this);
gContext.clearRect(0,0,w,2*h);
}
public void start()
{
if(animate==null)
{
animate=new Thread(this);
animate.start();
}
}
public void stop()
{
if(animate!=null)
animate=null;
}
public void run()
{
int dy,num=0;
double d;
while(true)
{
d=num*Math.PI/6;
for(int i=0;i<h;i++)
{
dy=(int)((i/12.0D+1)*Math.sin(h/12.0D*(h-i)/(i+1)+d));
repaint();
num=++num%12;
try
{
Thread.sleep(50);
}
catch (InterruptedException e){ }
}
}
}
public void update(Graphics g)
{ paint(g); }
public void paint(Graphics g)
{
g.drawImage(img,0,-h,this);
g.drawImage(buffer,0,h,this);
}
}

2005-12-21 11:19
雨夜黑黑
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-12-20
得分:0 

谢谢了,上面的题,如果我把高改成图画原高的一半的话,只出图画的一半,不会出倒影
敬请回复,谢谢

2005-12-21 11:22
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
得分:0 
没有static 的main方法啊.......

懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-21 11:24
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
得分:0 
老大,你是怎么运行起来的啊??是不是没给全啊??
在我机器上可运行不了~

懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-21 11:45
雨夜黑黑
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-12-20
得分:0 
我的是小程序,可以运行啊,
2005-12-21 14:57
雨夜黑黑
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-12-20
得分:0 
14楼的你在吗?这样只出一个图画,但不能出倒影
import java.awt.*;
import java.applet.*;
public class LX extends Applet implements Runnable
{
Thread animate;
Image img,buffer;
Graphics gContext;
int w,h;
public void init()
{
img=getImage(getCodeBase(),"hongyu.jpg");
MediaTracker tracker=new MediaTracker(this);
tracker.addImage(img,0);
try
{
tracker.waitForID(0);
}
catch (InterruptedException e){ }
w=img.getWidth(this);
h=img.getHeight(this)/2;//在这里加一个/2都可以出了,但只是一半图
buffer=createImage(2*w,h);
gContext=buffer.getGraphics();
gContext.drawImage(img,0,-h,this);
gContext.clearRect(0,0,w,h);//这里把2*去掉
}
public void start()
{
if(animate==null)
{
animate=new Thread(this);
animate.start();
}
}
public void stop()
{
if(animate!=null)
animate=null;
}
public void run()
{
int dy,num=0;
double d;
while(true)
{
d=num*Math.PI/6;
for(int i=0;i<h;i++)
{
dy=(int)((i/12.0D+1)*Math.sin(h/12.0D*(h-i)/(i+1)+d));
repaint();
num=++num%12;
try
{
Thread.sleep(50);
}
catch (InterruptedException e){ }
}
}
}
public void update(Graphics g)
{ paint(g); }
public void paint(Graphics g)
{
g.drawImage(img,0,-h,this);
g.drawImage(buffer,0,h,this);
}
}
2005-12-21 15:11
雨夜黑黑
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-12-20
得分:0 
怎么进不去了啊,不会限制我了吧啊
2005-12-21 15:19
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
得分:0 
哦 我错了 对不起,没看见,很少用到APPLET 啊~

懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-21 15:20
雨夜黑黑
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2005-12-20
得分:0 
能帮我看看为什么吗,我快晕死了啊
一直找不到,为什么我用全图就不出,但能编译通过啊
2005-12-21 15:22
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
得分:0 
有招了,你新建一个主题,主题名为:神啊,救救我吧~~XXXX//以下随便;
然后神XX飘飘斑竹无论什么时候都会出现,:“谁又在召唤我了??”
我新学的招...

懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-21 15:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-38978-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.091383 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved