📄 abstracttilebackground.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
package com.golden.gamedev.object.background.abstraction;
import com.golden.gamedev.object.Background;
import java.awt.*;
public abstract class AbstractTileBackground extends Background
{
private int a;
private int b;
private int c;
private int d;
private int e;
private int f;
private int g;
private int h;
private Point i;
public AbstractTileBackground(int j, int k, int l, int i1)
{
super(j * l, k * i1);
i = new Point();
a = l;
b = i1;
g = j;
h = k;
c = d = 0;
e = f = 0;
}
public void render(Graphics2D graphics2d, int j, int k, int l, int i1, int j1, int k1)
{
int j2 = l + j1;
int k2 = i1 + k1;
int i3 = d;
for(int i2 = i1 - f; i2 < k2; i2 += b)
{
int l2 = c;
for(int l1 = l - e; l1 < j2; l1 += a)
{
renderTile(graphics2d, l2, i3, l1, i2);
l2++;
}
i3++;
}
}
public abstract void renderTile(Graphics2D graphics2d, int j, int k, int l, int i1);
public void setLocation(double d1, double d2)
{
int j = (int)getX();
int k = (int)getY();
super.setLocation(d1, d2);
int l = (int)getX();
int i1 = (int)getY();
if(l != j || i1 != k)
{
c = l / a;
d = i1 / b;
e = l % a;
f = i1 % b;
}
}
public void setTileLocation(int j, int k)
{
setLocation(j * a, k * b);
}
public int getTileX()
{
return c;
}
public int getTileY()
{
return d;
}
public Point getTileAt(double d1, double d2)
{
if(d1 < (double)getClip().x || d1 > (double)(getClip().x + getClip().width) || d2 < (double)getClip().y || d2 > (double)(getClip().y + getClip().height))
{
return null;
} else
{
i.x = (int)((getX() + d1) - (double)getClip().x) / a;
i.y = (int)((getY() + d2) - (double)getClip().y) / b;
return i;
}
}
public int getOffsetX()
{
return e;
}
public int getOffsetY()
{
return f;
}
public int getTileWidth()
{
return a;
}
public int getTileHeight()
{
return b;
}
protected void setTileSize(int j, int k)
{
a = j;
b = k;
super.setSize(g * getTileWidth(), h * getTileHeight());
}
public int getTotalHorizontalTiles()
{
return g;
}
public int getTotalVerticalTiles()
{
return h;
}
public void setSize(int j, int k)
{
g = j;
h = k;
super.setSize(j * getTileWidth(), k * getTileHeight());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -