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

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

基于Java和FFmpeg实现视频压缩和剪辑功能

《基于Java和FFmpeg实现视频压缩和剪辑功能》在视频处理开发中,压缩和剪辑是常见的需求,本文将介绍如何使用Java结合FFmpeg实现视频压缩和剪辑功能,同时去除数据库操作,仅专注于视频处理,需... 目录引言1. 环境准备1.1 项目依赖1.2 安装 FFmpeg2. 视频压缩功能实现2.1 主要功

使用Python实现无损放大图片功能

《使用Python实现无损放大图片功能》本文介绍了如何使用Python的Pillow库进行无损图片放大,区分了JPEG和PNG格式在放大过程中的特点,并给出了示例代码,JPEG格式可能受压缩影响,需先... 目录一、什么是无损放大?二、实现方法步骤1:读取图片步骤2:无损放大图片步骤3:保存图片三、示php