html5 游戏公告的内容,分享一个自己做的游戏公告功能,跑马灯效果

2024-03-15 00:20

本文主要是介绍html5 游戏公告的内容,分享一个自己做的游戏公告功能,跑马灯效果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

aa252c00c8f81a32054f7eef546084ff.png

import View = Laya.View

import Image = Laya.Image

import HTMLDivElement = Laya.HTMLDivElement

import Sprite = Laya.Sprite

import Box = Laya.Box

/** 公告栏 */

export default class Notice extends View {

/** 滚动区域 */

hornBox: Box

/** html对象 */

html: HTMLDivElement

/** 滚动框的宽度 */

defaultX = 1110

/** 动画是否出于播放状态 */

isPlayIng:boolean = false

/** 空格 */

private space:string = "                          "

constructor() {

super()

this.width = 1200

this.height = 55

this.visible = false

this.pos(565,150)

this._createHorn()

this._createBg()

this._createView()

this.on(Laya.Event.UNDISPLAY,this,this.stop)

this.on(Laya.Event.DISPLAY,this,this.play)

}

/** 创建滚动区域 */

_createView() {

this.hornBox = new Box()

let _rectangle = new Laya.Rectangle(0,0,this.defaultX,55)

this.hornBox.scrollRect = _rectangle

this.hornBox.height = 55

this.hornBox.pos(70,0)

this.hornBox.zOrder = 3

this.html = new HTMLDivElement()

this.html.x = this.defaultX

this.html.contextHeight = 55

this.html.contextWidth = 1180

this.html.style.fontSize = 34

this.html.style.wordWrap = false

this.html.style.lineHeight = 55

this.html.style.align = "left"

this.html.style.color = "#fff"

this.html.innerHTML = ""

this.hornBox.addChild(this.html)

this.addChild(this.hornBox)

}

/** 滚动动画 */

private _animate(e: Event): void {

const _w = this.html.width

const _x = this.html.x

if (_x < -_w) {

this.stop(true)

} else {

this.html.x -= 2

}

}

/** 添加节点 */

addItem(html:string) {

if (typeof html === "undefined") {return }

this.html.appendHTML(`${this.space}${html}`)

if (this.isPlayIng === false) {

this.play()

this.isPlayIng = true

}

}

/** 开始动画 */

play() {

if (this.isPlayIng === true) {

return

}

const _w = this.html.width

const _x = this.html.x

if (_w === 0) {

return

}

if (_x < -_w) {

return

}

this.visible = true

this.frameLoop(1, this, this._animate)

}

/** 停止播放 */

stop(type?:boolean) {

this.isPlayIng = false

this.visible = false

this.clearTimer(this,this._animate)

if (type === true) {

this.html.x = this.defaultX

this.html.innerHTML = ""

}

}

/** 创建背景 */

_createBg() {

let bg = new Image()

bg.skin = 'common/bg.png'

bg.pos(20,0)

bg.width = 1180

bg.height = 55

bg.sizeGrid = "2,2,2,2"

bg.alpha = 0.7

bg.zOrder = 1

this.addChild(bg)

}

/** 创建喇叭 */

_createHorn(){

let horn = new Image()

horn.zOrder = 2

horn.loadImage('common/horn.png',-12,-12)

this.addChild(horn)

}

}

这篇关于html5 游戏公告的内容,分享一个自己做的游戏公告功能,跑马灯效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/810183

相关文章

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

Django中使用SMTP实现邮件发送功能

《Django中使用SMTP实现邮件发送功能》在Django中使用SMTP发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等,下面我们来看看如何在Django中配置S... 目录1. 配置 Django 项目以使用 SMTP2. 创建 Django 应用3. 添加应用到项目设置4. 创建

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心