javaFX游戏制作:游戏循环与控制

我们知道,游戏程序最主要是就是游戏循环,通俗点来说,就是主线程会不断循环控制游戏的各种状态,并告知绘图线程需要绘制那些图片。

本文,我们用最简单的文字游戏来做一个简单的游戏循环与控制的例子。

最终效果

最简单的文字游戏的玩法就是点击屏幕,然后推进故事,本文的案例将会相应鼠标点击事件,并且做一个简单的场景切换,效果如下所示。

场景类

从上面的例子可以看出,文字游戏最重要的元素就是场景,其中场景包括背景图,人物图以及人物的对话。

控制器控制的最小单元就是场景,场景的定义如下所示

@Data
@NoArgsConstructor
public class MiniScene {

    // 背景和人物
    private Image bg;
    private Image role;

    private TextAnimEntity textentity;

    public MiniScene(String bg_src, String role_src, TextAnimEntity textentity){
        this.bg = new Image(bg_src);
        this.role = new Image(role_src);
        this.textentity = textentity;
    }


}

可以看出,定义非常简单,其中TextAnimEntity就是上篇文章定义的对话类。

@Data
@NoArgsConstructor
@AllArgsConstructor
// 文字动画类,主要实现的功能是一个字一个字浮现一段话
public class TextAnimEntity {

    // 这个属性是说话的人
    private String name;
    // 这个属性是说的话
    private String text;
    // 人物的头像
    private Image image;

    // 背景图片
    private Image bgImage;

    private int width = 100;
    private int height = 100;
    // 指针,指向下一个要显示的字
    private int textIdx;
    // 定义一个延时计数器,只有计数器到达一定值的时候才将指针前移
    private int clock;
    private int clock_max;

    // 是否完全显示标志位
    private boolean finish;

    public TextAnimEntity(String image, String bg_
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值