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

相关文章

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Redis消息队列实现异步秒杀功能

《Redis消息队列实现异步秒杀功能》在高并发场景下,为了提高秒杀业务的性能,可将部分工作交给Redis处理,并通过异步方式执行,Redis提供了多种数据结构来实现消息队列,总结三种,本文详细介绍Re... 目录1 Redis消息队列1.1 List 结构1.2 Pub/Sub 模式1.3 Stream 结

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调