- 最后登录
- 2018-12-19
- 注册时间
- 2012-8-20
- 阅读权限
- 90
- 积分
- 54706
- 纳金币
- 32328
- 精华
- 41
|
怎样使用这个class:
定义一个新的颜色color,比如" private Color red = new Color ( 198, 58, 41); " 增加该颜色的变量名variable name到colors数组,使用changeColor方法来循环改变颜色。
修改如下设置
import com.cult3d.*;
import com.cult3d.world.*;
import java.awt.Color;
import java.awt.Image;
import java.awt.Graphics;
public class ColorSwap implements Cult3DScript, Runnable
{
// TEXTURE_NAME 的值是你要改变得纹理的名字
private static final String TEXTURE_NAME = "MADAROSE";
// if you want to add more colors add a Color instance here
// and add it to the colors array. The numbers are in RGB values (0 to 255, where 0 is black and 255 is white)
private Color red = new Color(198, 58, 41);
private Color blue = new Color(99, 93, 163);
private Color green = new Color(138, 149, 78);
private Color grey = new Color(136, 136, 136);
private Color lightBlue = new Color(121, 130, 173);
private Color black = new Color(64, 64, 64);
private Color[] colors = {red,
blue,
green,
grey,
lightBlue,
black
};
///////////////////////////////////////////////////////////////////////////
private Texture texture;
private TextureImage textureImage;
private int textureWidth, textureHeight;
private Graphics graphics;
// declare this variable volatile, so it always keeps the right value
private volatile boolean loaded = false;
private int colorCounter = 0;
// Standard cons***ctor
public ColorSwap()
{
Thread thread = new Thread(this);
thread.start();
}
// Thread method which loads "heavy" resources/textures
// To avoid the viewer hang when loading.
public void***n()
{
texture = new Texture(TEXTURE_NAME);
textureWidth = texture.getWidth();
textureHeight = texture.getHeight();
textureImage = (TextureImage)Cult.createImage(textureWidth, textureHeight);
graphics = textureImage.getGraphics();
loaded = ***e;
}
/*
Note: Lines started with two slashes (//) is line comments and is not in the final class file,
Lines with slash-star is another comment which is called "block comment" which comments a block
of code until it encounters star-slash. As
*/
// use this method from the Designer to loop the colors.
public void changeColor(String s)
{
if (!loaded)
{
System.out.println("The Java code is not yet loaded");
return;
}
if (colorCounter >= colors.length)
{
colorCounter = 0;
}
switchColor(colors[colorCounter]);
colorCounter ;
}
// The actual color change
private void switchColor(Color color)
{
graphics.setColor(color);
graphics.fillRect(0,0, textureWidth,textureHeight);
texture.setTexture(textureImage);
}
public void cult3dDestroy()
{
}
} |
|