Cocos2dx杂记:仿Android提示Toast

CocosCreator-Toast.rar 用就是做的类似于Android的Toast控件,可以在cocos creator引擎上运行,可以自由设置文字内容,字体大小是否移动。更多功能自己进去开发,注释已经写好了。 立即下载

在游戏制作的过程中经常会使用到提示,常见的方法是通过jni调用android下的方法实现toast提示
通过cocos2dx的LayerColor可以实现如上功能

1、头文件Toast.h

#pragma once
#include "cocos2d.h"

USING_NS_CC;

class Toast : public Layer {
public:
    Toast();
    ~Toast();
    virtual bool init();
    CREATE_FUNC(Toast);
    static Toast* create(const char* text, int fontsize = 30, float time = 1);
private:
    //设置文字
    void setText(const char* text, int fontsize, float time);
    //设置背景
    void setBackgound();
    //删除
    void removeSelf();
private:
    LayerColor *m_backgound;
    Label *m_label;
};

2、实现Toast.cpp

#include "Toast.h"
Toast::Toast(void)
{
}

Toast::~Toast(void)
{
}

bool Toast::init()
{
    if (!Layer::init()) {
        return false;
    }
    //设置大小与显示位置
    this->setContentSize(Size::ZERO);
    auto size = Director::getInstance()->getVisibleSize();
    Vec2 pos = Vec2(size.width / 2, 70);
    this->setPosition(pos);

    return true;
}

//创建弹出提示框
Toast* Toast::create(const char* text, int fontsize, float time)
{
    Toast* toast = Toast::create();
    toast->setLocalZOrder(INT_MAX);
    toast->setText(text, fontsize, time);
    toast->setBackgound();
    return toast;
}

//设置文字
void Toast::setText(const char* text, int fontsize, float time)
{
    m_label = Label::createWithSystemFont(text, "", fontsize);
    this->addChild(m_label, 3);

    Sequence * ation = Sequence::create(ScaleTo::create(time, 1.0), CallFunc::create(CC_CALLBACK_0(Toast::removeSelf, this)), NULL);
    this->runAction(ation);
}

//设置背景
void Toast::setBackgound(){
    m_backgound = LayerColor::create(Color4B(0, 0, 0, 0));
    this->addChild(m_backgound, 2);
    m_backgound->ignoreAnchorPointForPosition(false);
    m_backgound->setContentSize(Size::ZERO);
    m_backgound->setAnchorPoint(Vec2(0.5f, 0.5f));
    m_backgound->setOpacity(150);
    if (m_label){
        Size size = Size(m_label->getContentSize().width + m_label->getSystemFontSize(), m_label->getContentSize().height + m_label->getSystemFontSize() / 2);
        m_backgound->setContentSize(size);
        m_backgound->setPosition(m_label->getPosition());
    }
}

//移除Toast
void Toast::removeSelf(){
    this->removeFromParentAndCleanup(true);
}

3、使用方式

    auto toast = Toast::create("你好");
    this->addChild(toast)
Cocos2d-x 3.2 大富翁游戏项目开发-第十七部分 Toast提示框 立即下载

相关推荐

WSL2不能上网,Failed to connect to github.com port 443问题解决方案

WSL2不能上网: 问题:ping外网无效 例如:ping www.baidu.com失败 解决方案: 在wsl: $sudo vi /etc/wsl.conf wsl.conf: [network] generateResolvConf = false 在PowerShell: $sudo vi /etc/etc/resolv.conf resolv.conf: # This file was automatically generated by WSL. To stop automatic gen

Jason_Chen__的博客 9525

【包教包会】CocosCreator极简实现全局消息弹窗,超好用

CocosCreator全局消息弹窗

CocosCreator水煮肉片饭的博客 1951

揭秘大型语言模型:从神经元到思维透明的奇妙旅程

这篇博客带你走进大型语言模型的内部世界,从神经元的小任务,到功能向量的团队合作,再到层间的协作和思维的透明化。掌握这些知识,能让你在开发中更高效地优化AI,在研究中更深入地探索模型的奥秘。建议多动手实践,把这些理论变成自己的能力!

数据与算法架构提升之路专栏 1519

Cocos2d-x 3.0 实现android的Toast效果

Toast用于向用户显示一些帮助/提示。

Deep_Coder的专栏 812

C++实战指南:使用CodeBlocks构建跨平台wxWidgets窗口应用

本文是一份面向C++初学者的实战指南,详细介绍了如何使用CodeBlocks IDE和wxWidgets框架快速构建跨平台的桌面窗口应用。内容涵盖从环境搭建、项目配置到界面设计、事件处理的全流程,重点讲解了如何利用CodeBlocks的开箱即用支持和wxSmith可视化设计器,高效开发具有按钮、菜单、列表等控件的交互式窗口界面程序,帮助读者轻松入门GUI开发。

weixin_29012677的博客 154

LPDDR5 学习笔记01:功能概述

LPDDR5/LPDDR5X SDRAM设备采用8/16DQ通道架构,支持2Gb-32Gb容量。通过CK命令时钟和更快的WCK数据时钟协同工作,7个CA引脚传输控制信息,支持2:1或4:1的WCK:CK比例。设备提供BG/8B/16B三种存储模式选择,分别支持不同数据速率(最高8.533Gbps)和突发长度。采用0.5V VDDQ电源电压,实现高速双倍数据速率传输,并通过差分WCK时钟完成数据采样。读写采用突发访问机制,需先激活命令再执行读写操作。新型LPDDR5X仅支持BG和16B模式,优化了高速性能。

一只豌豆象的博客 2194

C层调用Toast弹出--JNI编程实战

C层调用Toast弹出–JNI编程实战

熊铁柱的博客 2394

2025必备:C#上位机自动更新方案,支持断点续传与版本回滚(附完整源码)

摘要:工业上位机自动更新方案解析 本文针对工业现场上位机更新效率低下、风险高的问题,提出了一套完整的自动更新解决方案。该方案包含四个核心模块:版本检测(后台比对版本)、断点下载(支持网络中断续传)、安装更新(自动备份旧版本)和版本回滚(更新失败快速恢复)。通过独立更新工具与主程序解耦的设计,实现了"不影响生产+有退路"的工业级更新要求。方案基于.NET Framework开发,采用HTTP协议通信,包含详细的代码实现和工业场景适配说明,解决了U盘更新效率低、网络不稳定导致下载失败、更新后

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 955

JNI弹Toast

> C代码void Java_com_example_hellojni_HelloJni_show(JNIEnv* env,jobject thiz, jobject context,jstring cstr) { jclass jc_Toast=(*env)->FindClass(env,"android/widget/Toast"); jmethodID jm_makeText=

lemisky的博客 1527

机器学习实战——疫情数据分析与预测

机器学习如何做到疫情可视化——疫情数据分析与预测实战 本文将带领大家爬取11个国家以及中国31个省(自治区、直辖市)在2022.0101-2022.06.19的新冠疫情数据。并且采用机器学习模型对2022.6.20-2022.6.30每一天的全国确诊人数、死亡人数、治愈人数进行预测,**做出疫情可视化图形并且求出最终的相关系数R2!...

拥有百余位万粉技术博主、200余位可合作代发博主,私域技术社群规模达千人,商务合作私信 10万+

Dify 第 7 篇 Dify 应用介绍 + 聊天助手&Agent 应用关键点说明

本文介绍了Dify应用的核心概念与使用方法。Dify是基于大模型构建的实际场景应用,提供API、WebApp和易用界面。包含5种应用类型:聊天助手、文本生成、Agent、对话流和工作流。创建方式有模板创建、空白应用和DSL文件三种。重点讲解了聊天助手和Agent应用的关键功能:聊天助手支持提示词优化、知识库引用、文件处理等;Agent应用则强调推理能力、工具调用和任务自动化。文章还详细介绍了应用的调试、发布和管理工具,为开发者提供了全面的应用构建指南。

甘蓝的专栏 1882

android JNI中C中调用java中方法

本文主要实现了,点击按钮,运行C中的方法,该C方法会调用java中的Toast 这是我的MainActivity: package com.ctojava; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.widget.Toast; public cl

qq_36986988的博客 433

展锐 Android 15 无听筒方案删除配置

【代码】展锐 Android 15 无听筒方案删除配置。

m0_60898338的博客 165

Cocos2d-x实现Android的Toast功能

Cocos2d-x实现Android的Toast功能 分类: cocos2d-x2014-11-01 01:56 252人阅读 评论(0) 收藏 举报 Cocos2d-xToast 目录(?)[+] 1、Toast Android的Toast是一个View视图,快速为用户显示少量的信息。主要用于一些提示和帮助。本文实现了Toast最基本的操作能,

meihaoitian的专栏 438

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Cocos2d-x游戏开发之弹出式全屏提示窗口

本站文章转载务必在明显处注明:原文链接: http://blog.youkuaiyun.com/cjsen/article/details/9055389 此博客基于Cocos2d-2.1rc0-x-2.1.3  API 参考博客:http://blog.youkuaiyun.com/onerain88/article/details/7608496 前言 在cocos2d-x中为我们提示提供CCMessag

森... 6036

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【cocos creator】弹窗提示,按钮点击传一个回调函数,在点击按钮后执行

按钮点击传一个回调函数,在点击按钮后执行 //挂在按钮所在panel上 cc.Class({ extends: cc.Component, properties: { msg: cc.Label, btn_A: cc.Button, text: cc.Label, setfunc: false, }, ...

烧仙草奶茶的博客 2057

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【cocos 3.x】简单飘字toast

typescript实现简单的飘字提示,使用数组做对象池回收

EddyLwei的博客 985

【Android】 开发干货-技术分享高仿QQToast实现

首先展示截图 1.显示普通提示的QQToast展示   2.显示成功提示的QQToast展示   3.显示失败提示的QQToast展示 4.显示警告提示的QQToast展示   二,原理分析 第一步,创建Toast布局文件 要实现此布局很easy,只需要添加一个LinearLayout布局,并设置为horizontal排列,并在LinearLayout布局中...

天下武功唯CODING不破 7061

【Android自定义View】 仿照腾讯漫画自定义Toast的实现

效果展示:话不多说,先上效果图: 看完了效果,我们来分析一下如何实现,并且实现这个我们能学到什么。如何实现:   仿照腾讯漫画的效果,实现toast从顶部出现,又从顶部消失,代码逻辑比较简单。只需要用到Android的补间动画。另外需要仿照原生的调用方法,一行代码实现调用,降低开发者学习成本。学习目的:  主要是强调一个良好的封装和适配,在写这个控件的过程中充分理解Android补间动画,以及自定...

zhhr1122的博客 1974

安卓仿Toasty消息弹框

Toast是安卓非常常用的消息弹框之一,但是原生的弹框过于朴素,无法适应不同场景的样式需求,因此设计一个类似于Toasty的弹框构建工具。 不废话直接上代码 import android.content.Context; import android.os.Looper; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.Lin.

Omega2109的博客 528

android 仿toast,Android自定义仿ios的toast提示(三)

仿ios的自定义toast。说明:一,使用的Androidstudio版本为3.4二,使用说明。直接增加依赖。然后看本文第二大条。allprojects {repositories {...maven { url 'https://jitpack.io' }}}dependencies {implementation 'com.github.mamumu:mmToast:1.0'}展示效果:htt...

weixin_33733742的博客 460

android好看的toast模板,Android仿MIUI的Toast动画效果实现(有图有源码)

前言相信有些人用过MIUI,会发现小米的Toast跟Android传统的Toast特么是不一样的,他会从底部向上飞入,然后渐变消失。看起来效果是挺不错的,但是对于Android原生Toast是不支持自定义动画的。那这个效果到底是怎么实现的呢?下面就来告诉你。。。。分析如果园友看过我的另一篇博客《Android:剖析源码,随心所欲控制Toast显示》,就会知道其实原生Toast就是infate出一个...

weixin_30186743的博客 672

cocos微信小游戏开发-http请求-使用微信云函数-toast-loading-动态加载图片-添加触摸事件-微信分享-label点击事件-背景音乐&音效-程序活动状态判断-性能优化

cocos2.4微信小游戏开发-http请求-使用微信云函数-toast-loading-动态加载图片-添加触摸事件-微信分享-label点击事件-背景音乐&音效-程序活动状态判断-性能优化

qq_39143010的博客 6562

cocos 项目实践总结

组件文档的理解: 开发过程顺序问题: 1、获取锚点坐标 2、事件监听 3、批量生成选词按钮 4、Button可以自定义边界、边界颜色、及弧度 一些问题记录 1、button点击过后重新恢复页面渲染,button的状态偶发还是点击态而非正常态 2、偶发事件绑定失败: 3、触摸不同状态下不仅需要切换button背景还需要切换文字内容,不一体 5、自定义toast 6、总出现一些死机问题,没有定位到,就很突然 7、半屏/大屏切换问题 QQ频道互动应用内大小屏切换目前方案 8、字体模糊问题解决 开发后的思考

qq_34425377的博客 1415
上一篇: Cocos2dx杂记:Tiledmap读取
下一篇: Cocos2dx杂记:如何显示中文
胖胖的战士
博客等级 码龄18年 104粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值