【鸿蒙】 使用定时器做一个简单的抢红包小游戏

简介: # 【鸿蒙】 使用定时器做一个简单的抢红包小游戏## 1.新建项目![image-20220609213224034](https://yygh-sz.oss-cn-beijing.aliyuncs.com/image-20220609213224034.png)![](https://yygh-sz.oss-cn-beijing.aliyuncs.com/image-20220609213246130.png)![image-20220609213327195](https://yygh-sz.oss-cn-beijing.aliyuncs.com/image-20220

【鸿蒙】 使用定时器做一个简单的抢红包小游戏

1.新建项目

image-20220609213224034

image-20220609213327195

2. 添加 计时器,按钮组件

image-20220609213409009

<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:height="match_parent"
    ohos:width="match_parent"
    ohos:alignment="center"
    ohos:orientation="vertical">

    <TickTimer
        ohos:id="$+id:tick_1"
        ohos:height="match_content"
        ohos:width="match_content"
        ohos:text_color="red"
        ohos:text_size="50vp"
        ohos:text_alignment="center"
        ohos:layout_alignment="center"
        />

    <Button
        ohos:id="$+id:bt_1"
        ohos:height="match_content"
        ohos:width="match_content"
        ohos:margin="30vp"
        ohos:clickable="false"
        ohos:text="准备!"
        ohos:text_color="red"
        ohos:text_size="50vp"
        ohos:text_alignment="center"
        ohos:layout_alignment="center"/>

</DirectionalLayout>

3.抢红包业务逻辑

image-20220609221630496

package com.sgg.hongbao.slice;

import com.sgg.hongbao.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Button;
import ohos.agp.components.TickTimer;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.logging.SimpleFormatter;

public class MainAbilitySlice extends AbilitySlice {

    Long money = 0L;

    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);

        // 获取定时器组件
        TickTimer tickTimer = (TickTimer) findComponentById(ResourceTable.Id_tick_1);
        //获取按钮组件
        Button bt = (Button) findComponentById(ResourceTable.Id_bt_1);


        tickTimer.setCountDown(false);

        tickTimer.start();

        // 10S 准备时间
        int countDwonTime = 3;

        tickTimer.setTickListener(tickTimer1 -> {
            Long aLong = string2Long(tickTimer1.getText());
            Long time = countDwonTime - aLong;

            if (aLong >= 10) {
                bt.setText(" 恭喜你 抢到 " + money + " 元 ");
                bt.setMultipleLine(true);
                //关闭定时器
                tickTimer.setText(" 00 : 00 ");
                tickTimer.stop();
                return;
            }

            if (time <= 0) {
                bt.setText("点我疯狂抢红包");
            } else {

                if (aLong == 0) {

                } else {
                    bt.setText(" 倒计时 " + time + "  秒");
                }
            }
        });


        bt.setClickedListener(component -> {
            money+=1000;
        });

    }


    private Long string2Long(String str) {

        long time = 0;
        try {
            time = new SimpleDateFormat("mm:ss").parse(str).getSeconds();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return time;

    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}

4.效果演示

devecostudio64_w9yRtsBhCq

相关文章
|
1月前
鸿蒙打电话功能
鸿蒙打电话功能
18 0
|
11月前
|
Web App开发 iOS开发
ios系统微信分身怎么弄 微信多开分身
随着微信成为了必备的社交软件,使用微信的人也越来越多。但是,微信一直只允许在一个设备上登录一个账号,这就给那些需要同时管理多个微信账号的用户带来了不少不便。 相信大家都遇到过这种问题 微信作为一款通讯工具,在生活和工作中发挥的作用越来越重要,一些有特殊需求的人,可能要用到两个以上的微信,为了满足这部分用户的需求,在苹果手机上出现了一种叫做“微信多开”或“苹果微信分身”的应用,可以让用户在一个设备上同时登录多个微信账号,方便用户快捷管理不同的微信号码。 本文将为大家介绍如何使用苹果微信多开教程,让你的苹果设备可以同时登录多个微信账号
1243 0
|
小程序
微信小程序项目实例——双人五子棋
微信小程序项目实例——双人五子棋
|
小程序 JavaScript
小程序自学系列(零基础学小程序002)---小程序实现电商秒杀倒计时效果
小程序自学系列(零基础学小程序002)---小程序实现电商秒杀倒计时效果
|
小程序
第一款小游戏做完了,邀请好朋友来提前体验
陆陆续续的大半个月的时间,一边做开发,一边写教程着实不轻松,不过,小蚂蚁的第一款小游戏终于完成了。今天已经将其提交到微信小游戏平台开始审核,如果顺利的话,大概一两个天之后,游戏会正式上线。
71 0
|
存储 数据处理
签到(CocosCreator)
签到(CocosCreator)
签到(CocosCreator)
|
小程序 开发者
闯关答题小程序产品
闯关答题小程序产品
闯关答题小程序产品
|
存储 小程序
小程序直播间发红包
直播间现有的营销工具不足以满足我们的需要,那我们只有自己动手来做了。操起代码就是干,在淘佳客小程序里面加入了这个功能,先看下效果。
208 0
小程序直播间发红包
|
Java Maven
秘乐短视频开发原理丨秘乐短视频系统开发(JAVA开发)丨秘乐短视频现成源码案例部署
使用IDEA用Maven创建一个Java项目,在resources文件夹下创建一个ffmpeg文件夹,将下载好的ffmpeg中bin目录下的ffmpeg.exe程序复制到刚刚创建好的文件夹下。
|
编解码 前端开发 Java
秘乐短视频系统丨秘乐短视频系统开发(详细及案例)丨秘乐短视频开发源码功能
 VideoPlayerManager-https://github.com/danylovolokh/VideoPlayerManager介绍:帮助控制MediaPlayer类的项目。可以方便的在ListView和RecyclerView中使用MediaPlayer。它还能跟踪滚动列表当前可视范围最大的item,并提供回调的api。