Canvas类画布范围问题....
做了一个滚动的小球程序,碰到障碍物会自动弹回,但是小球会滚动到下图的灰色部分,也就是说,这也属于画布的范围,有什么办法,能准确计算出灰色部分的高度.或者,让画面范围止于灰色部分..


import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Graphics;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import com.sun.perseus.parser.ColorParser;
public class bool extends MIDlet {
Display dis;
Can ca;
public bool() {
dis=Display.getDisplay(this);
ca=new Can();
ca.setTitle("会滚动的小球");
dis.setCurrent(ca);
new Thread(ca).start();
}
protected void startApp() throws MIDletStateChangeException {
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO 自动生成方法存根
}
protected void pauseApp() {
// TODO 自动生成方法存根
}
class Can extends Canvas implements Runnable
{
int x=0,y=0;
int Width=this.getWidth();
int Heigth=this.getHeight();
int dx=8,dy=8;
final int r=7;
Can()
{
//setFullScreenMode(true);
}
void move()
{
x=x+dx;
y=y+dy;
if(x+r>=Width)
{
x=Width-r;
dx=-dx;
}
if(x-r<0)
{
x=0;
dx=-dx;
}
if(y+r>=Heigth)
{
y=Heigth-r;
dy=-dy;
}
if(y-r<0)
{
y=0;
dy=-dy;
}
}
protected void paint(Graphics g) {
g.setColor(250,250,250);
g.fillRect(0, 0, Width, Heigth);
move();
g.setColor(100,255,20);
g.fillRoundRect(x, y, r,r,90,90);
}
public void run() {
while(true)
{
repaint();
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
}
}
...全文
相关推荐
canvas-shooting-game:在HTML5中使用画布练习创建游戏
在Canvas中,可以通过比较每个子弹的坐标与敌人的坐标范围来实现基本的碰撞检测。4. **游戏状态管理**:游戏可能有不同的状态,如开始、暂停、游戏结束等。
canvas粒子喷泉动画特效.zip
color; } update() { this.x += this.dx; this.y += this.dy; // 添加重力效果,模拟粒子下落 this.dy += 0.1; // 如果粒子超出画布范围
canvas画布导出为图片
"canvas画布导出为图片的实现主要依赖于HTML5的`canvas`元素提供的`toDataURL`方法,该方法能够将canvas上的内容转换为一个data URI,从而可以将其保存为图片或者用
Android 自定义画布canvas 实现绘制和清空画布功能
本教程将深入探讨如何利用Canvas实现绘制和清空画布的功能。首先,我们需要创建一个自定义View类,这个类将继承自Android的View或SurfaceView。
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
在Web开发中,使用HTML5的canvas元素可以创建图形和处理图像,但是当需要在canvas上绘制来自不同域的图片资源时,浏览器出于安全考虑,会阻止跨域图片的绘制,这种现象被称为“跨域污染画布”。


J2ME
