当前位置: 首页 > article >正文

【Cocos TypeScript 零基础 4.1】

目录

  • 背景滚动

背景滚动

创建一个 空节点
背景丟进去 ( 复制一个,再丢一次都行)
在这里插入图片描述
新建TS脚本 并绑定到 空节点 上
在这里插入图片描述
再对TS脚本进行编辑

export class TS2bg extends Component {
    @property (Node)    //  通过属性面板去赋值
    bg1:Node = null
    @property (Node) bg2:Node = null

    @property speed : number = 100

    start() {

    }

    update(deltaTime: number) {
        let pos1 = this.bg1.position    //  获取bg1的坐标
        //pos1.y -= this.speed * deltaTime    //  修改bg1的坐标   属性值不允许修改
        this.bg1.setPosition( //  设置bg1移动坐标
            pos1.x , 
            pos1.y - this.speed * deltaTime
        )
    }
}

代码编辑完后,在属性选项中绑定数据
在这里插入图片描述
最终样子
在这里插入图片描述
保存一下运行一下,看背景是否向下移动

@property (Node) bg2:Node = null

写成一行不行,代码如下

export class TS2bg extends Component {
    @property (Node)    //  通过属性面板去赋值
    bg1:Node = null
    @property (Node)
    bg2:Node = null

    @property speed : number = 100  //  100是像素

    start() {

    }

    update(deltaTime: number) {
        let pos1 = this.bg1.position    //  获取bg1的坐标
        //pos1.y -= this.speed * deltaTime    //  修改bg1的坐标   属性值不允许修改
        this.bg1.setPosition( //  设置bg1移动坐标
            pos1.x ,    //  竖屏是Y轴移动,X轴不变
            pos1.y - this.speed * deltaTime //  deltatime 应该是过去的时间
        )
        let pos2 = this.bg2.position    //  获取bg2当前坐标
        this.bg2.setPosition(
            pos2.x,
            pos2.y - this.speed * deltaTime
        )
        
        pos1 = this.bg1.position
        pos2 = this.bg2.position
        if (pos1.y < -852 * 2) {this.bg1.setPosition(pos1.x , 0)}
        if (pos2.y < -852 * 2) {this.bg2.setPosition(pos1.x , 0)}
    }
}

问题
一,中间有缝隙
在这里插入图片描述
底缩短 -852 * 2 改成 -850 * 2
二,重置数值为何如此大?
查看 camera 视野范围,确实包含 bg1
查看 bg1 属性 初始就是 -852 ,所以 -852 * 2 才是底


http://www.kler.cn/a/466737.html

相关文章:

  • C语言-sprintf
  • 网络安全之高防IP的实时监控精准防护
  • 使用最广泛的Web应用架构
  • Ant Design Pro搭建react项目
  • FinDKG: 用于检测金融市场全球趋势的动态知识图谱与大型语言模型
  • 如何删除 Docker 中的悬虚镜像?
  • npm install --global windows-build-tools --save 失败
  • C语言 斐波那契数列(递归算法)
  • 【Qt】主窗口
  • 使用Anaconda管理R语言环境,并使用Jupyter Notebook编写R语言
  • 一款基于大语言模型和 RAG 的开源知识库问答系统
  • java 搭建一个springboot3.4.1项目 JDK21
  • Linux(Ubuntu24.04)源码编译安装VTK7.1.1记录
  • IDEA工具使用介绍、IDEA常用设置以及如何集成Git版本控制工具
  • matlab simulink电池充放电模型
  • SSH多秘钥管理
  • ThinkPHP 8高效构建Web应用-控制器
  • df.groupby()方法使用在查询中用到的筛选条件函数对 数据进行分组
  • Python基于Gradio可视化部署机器学习应用
  • Redis--内存管理(过期删除和内存淘汰策略)