This commit is contained in:
2025-10-09 16:11:24 +08:00
parent 1210cfd804
commit 644c52984f

View File

@@ -0,0 +1,40 @@
/* Copyright 2018-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by
* applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
* OF ANY KIND, either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*/
package com.gitee.drinkjava2.frog.objects;
import java.awt.Graphics;
/**
* EnvObject means some virtual object in Env
*
* @author Yong Zhu
* @since 1.0
*/
public interface EnvObject {//EnvObject接口代表虚拟环境中的一种物体每定义一个物体要在Env的things变量中添加它
public void build(Graphics g);// 在Env中创建本身物体只在每屏测试前调用一次
public void destory(Graphics g);// 从Env中清除本身物体只在每屏测试完成后调用一次
public void active(int screen, int step, Graphics g);// 每个步长(即时间最小单位)都会调用一次这个方法, 前两个参数分别是当前屏数和当前步长数
public static class DefaultEnvObject implements EnvObject {//EnvObject接口的缺省实现
public void build(Graphics g) {
}
public void destory(Graphics g) {
}
public void active(int screen, int step, Graphics g) {
}
}
}