godot.bk5:how to change the scene

news2024/11/19 3:48:25

control:界面层,点击start进入map 

extends Control

@onready var start = $Button
# Called when the node enters the scene tree for the first time.
func _ready():
	start.connect("button_down", self._on_pressed_)
	pass # Replace with function body.
	
func _on_pressed_():
	get_tree().change_scene_to_file("res://map.tscn")


# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
	pass

 

map:二维的地图,npc发现玩家开始追逐追逐成功进入attack地图,注意要放两个area2D检测,一个是检测是否追逐,一个是检测是否进入attack地图 (attack是一个横板单挑地图)

extends Node2D


# Called when the node enters the scene tree for the first time.
func _ready():
	pass # Replace with function body.


# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
	if Global.is_attack == true:
		print("move to attack...")
		get_tree().change_scene_to_file("res://attack.tscn")
	pass

 

NPC :Globa的位置就是玩家实时更新的位置

extends CharacterBody2D
 
const SPEED = 8000.0
var is_atttack
@onready var timer = $Timer 
var dir = Vector2.RIGHT
var move = false
	
func _physics_process(delta):
	if is_atttack:
		velocity = (Global.player_pos - position).normalized() * SPEED * delta
		move_and_slide()
		return
	if timer.is_stopped():  
		return 
	
	if !timer:
		timer.set_wait_time(random_something([1, 0.5, 0]))  
		timer.start()
	
	if move:
		#dir = random_something([Vector2.RIGHT, Vector2.LEFT, Vector2.UP, Vector2.DOWN])
		velocity = dir * SPEED * delta
		move_and_slide()
 
func _on_area_2d_body_entered(body):
	if body.is_in_group("player"):  #没有这一行,开局就会和map碰撞,直接卡死
		is_atttack= true
	pass


func _on_area_2d_body_exited(body):
	is_atttack= false
	pass # Replace with function body.
	
func random_something(arr):  #获取一个随机数
	arr.shuffle()
	return arr.front()

func _on_timer_timeout():
	move = !move
	dir = random_something([Vector2.RIGHT, Vector2.LEFT, Vector2.UP, Vector2.DOWN])
	pass # Replace with function body.


func _on_attack_body_entered(body):
	if body.is_in_group("player"): #这一行至关重要,我没加,每次都是attcak
		Global.is_attack = true
	pass # Replace with function body.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1791971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

西门子学习笔记6 - TCP通讯

1、主站设置 1、添加两个PLC在网络组态进行链接在一起,使用tcp链接 2、设置主站IP地址为:192.168.1.1 3、添加TSEND_C功能块 4、设置功能块参数连接 5、设置如下所示(连接参数设置) 6、设置如下所示(连接块参数设置&a…

调用讯飞星火API实现图像生成

目录 1. 作者介绍2. 关于理论方面的知识介绍3. 关于实验过程的介绍,完整实验代码,测试结果3.1 API获取3.2 代码解析与运行结果3.2.1 完整代码3.2.2 运行结果 3.3 界面的编写(进阶) 4. 问题分析5. 参考链接 1. 作者介绍 刘来顺&am…

ubuntu20.04设置文件开机自启动

硬件:树霉派4B 系统:ubuntu20.04 在ubuntu20.04上经常需要运行 ./BluetoothServerParse_L.c ,比较繁琐,想要设置开机自启动,让树霉派4B在接上电源之后就自动运行该程序。使用systemd服务,设置步骤如下: &…

高德地图 JS API用于绘画船舶轨迹

文章目录 引言I 2.0升级指南1.1 修改 JSAPI 引用中的版本号到 2.01.2 相应修改II 1.4.15 文档引言 地图 JS API 2.0 是高德开放平台免费提供的第四代 Web 地图渲染引擎, 以 WebGL 为主要绘图手段,本着“更轻、更快、更易用”的服务原则,广泛采用了各种前沿技术,交互体验、…

开发板uboot与virtualbox虚拟机、windows11网络互通

环境:virtualbox中ubuntu22.04.4,开发板通过网线再经过拓展坞usb网卡跟windows11连接。连接如下: 1、关闭windows防火墙(重要) 2、先在VirtualBox的工具选项创建两个网络【仅主机(Host-Only)网络】和【NAT网络】 仅主机(Host-Only)网络的ip:…

场地预定小程序基于FastAdmin+UniApp

本文来自:XYvenue场地预定小程序基于FastAdminUniApp - 源码1688 应用介绍 XYvenue是基于FastAdminUniApp开发的多场馆场地预定小程序,提供运动场馆运营解决方案,适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆。 前端演示&#xf…

前端调用接口有参数正常显示返回值,但是打印是undefined

前端调用接口有参数正常显示返回值,但是打印是undefined 这种有几种情况,但总的来说是因为我们做了接口拦截器的处理 一、后端返回code值有误 比如新来的后端忘记传code了。(按照公司规范,一般都是200成功码) 或者网上…

Springboot vue3 elementplus 景点评论数据分析与可视化系统源码

源码链接 系统演示:链接:https://pan.baidu.com/s/1J056R4rYji_mc4gwteZEzg?pwdnua4

CORSscannerburp的插件jsonp-hunterdnsub

1.CORSscanner 下载地址:CORScanner: Fast CORS misconfiguration vulnerabilities scanner 有时候会出一些警告没引入变量之类的,用pip安装一下就可以了 打开之后是这样的 2.jsonp-hunter 安装jython:Jython的安装和配置环境_jython安装…

【Matplotlib作图-2.Deviation】50 Matplotlib Visualizations, Python实现,源码可复现

目录 02 Deviation 2.0 Prerequisite 2.1 发散型条形图(Diverging Bars) 2.2 发散型文本(Diverging Texts) 2.3 Diverging Dot Plot 2.4 Diverging Lollipop Chart with Markers 2.5 面积图(Area Chart) References 02 Deviation 2.0 Prerequisite Setup.py # !pip ins…

VBA信息获取与处理第二个专题第五节:实际场景中随机数的利用

《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互…

友思特应用 | 慧眼识珠:如何实现无障碍高光谱成像?

导读 近红外相机可帮助人眼捕捉不同材料之间光谱特征的微小差异。友思特 Monarch 微型可调近红外相机以其小体积、低成本、高性能,3步即可快速实现各种材料的分类应用。 多光谱成像 每个物品都是由不同的化学物质组成的,这些化学物质的反射随光谱带的不…

性能优化相关:nginx负载均衡中的动静分离

结合上次博客:正向代理和反向代理 什么是动静分离: 静态资源:包含css文件、图片、js文件、配置文件等 动态资源:脚本处理等 更改/usr/local/nginx/conf下的nginx.conf文件,设置动静目录,添加如下 locatio…

【二叉树】Leetcode 637. 二叉树的层平均值【简单】

二叉树的层平均值 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[3.00000,14.50000,11.00000] 解释&#xff1a…

记一次SpringCloud OpenFeign 服务调用传递 token @Async 上下文信息获取失败

一、场景 在异步方法中使用了feign调用,发现提示“您还未登录或登录已失效”。那原因很明了就是我的登录信息没办法传入到feign的调用方法里。 二、考虑的解决办法 1)尝试一:ServletRequestAttributes attributes (ServletRequestAttrib…

可以通过其瞳孔判断AI生成的人脸数据是否可靠

概述 我们都知道,GANs的发展使得生成相互之间无法区分的人脸图像成为可能。虽然这项技术在发展,但也有弊端,比如出现了用生成的人脸作为资料图片的虚假社交媒体账户。因此,随着GANs的发展,使用深度学习模型检测生成的…

windows 系统中部署 windows_exporter

从 github 中下载安装包到本地路径: Releases prometheus-community/windows_exporter (github.com) 后台运行方式windows_exporter,进入命令提示符执行以下命令: > powershell -Command "Start-Process D:\windows_exporter\wind…

DDS自动化测试落地方案 | 怿星科技携最新技术亮相是德科技年度盛会

5月28日,怿星科技作为是德科技的重要合作伙伴亮相Keysight World Tech Day 2024。在此次科技盛会上,怿星科技不仅展示了领先的DDS自动化测试解决方案等前沿技术,还分享了在“周期短、任务重”的情况下,如何做好软件开发和测试验证…

Linux 35.5 + JetPack v5.1.3@RACER编译安装

Linux 35.5 JetPack v5.1.3RACER编译安装 1. 源由2. 编译&安装Step 1:依赖库安装Step 2:LKH-3安装Step 3:建立工程Step 4:编译工程Step 5:安装工程 3. 问题汇总3.1 组件ros-noetic-multi-map-server问题3.2 swarm…

中伟视界:《安徽省非煤矿山风险防控建设》政策文件要求及项目实施情况详解

我司积极参与到《安徽省重点非煤矿山重大灾害风险防控建设》的实施中。经过不懈努力,我们荣幸地成为第一批建设厂家,这不仅是我们的荣誉,更是对我们技术实力和行业责任的高度认可。下面我们针对政策文件要求及项目实施情况做个介绍。 政策项目…