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

学校资源网站建设方案蓝色网站素材

学校资源网站建设方案,蓝色网站素材,大学网站开发专业怎么样,高端大气的公司名称1.搜索godot国内镜像,直接安装,mono是csharp版本 2.直接解压,50m,无需安装,直接运行 3.godot里分为场景,节点 主场景用control场景,下面挂textureact放背景图片,右键实例化子场景把…

 1.搜索godot国内镜像,直接安装,mono是csharp版本

2.直接解压,50m,无需安装,直接运行 

3.godot里分为场景,节点

主场景用control场景,下面挂textureact放背景图片,右键实例化子场景把角色场景加进来

角色场景用node2d场景,下面挂node2d节点,下面挂sprite节点放图片做player

子弹场景用node2d场景,下面挂label节点写一个“O”做子弹

如下:

4.sprite脚本

extends Sprite2D  # 继承自Node2D,或者如果你的角色是一个精灵,可以继承自Sprite  #var speed = 200  # 角色的移动速度,可以根据需要调整  
var bullet_speed = 100
var bullet_instance = null
@onready var bullet_scene = preload("res://botton.tscn")  
@onready var player_sprite = $player_sprite
var flag = 0;# 当节点首次进入场景树时被调用  
func _ready():  if(player_sprite == null):print("player_sprite null>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")flag = 1;pass  # 初始化代码可以放在这里,但在这个例子中我们不需要  func field_booton():bullet_instance = bullet_scene.instantiate() get_tree().root.add_child(bullet_instance)if(player_sprite):bullet_instance.position = player_sprite.positionelse:bullet_instance.position = position	func _process(delta):  var velocity = Vector2.ZERO  # 初始化速度为0  # 检测WSAD键并设置相应的速度  if Input.is_action_pressed("ui_up"):  #velocity.y -= 1  position = position + Vector2(0, -5)if Input.is_action_pressed("ui_down"):  #velocity.y += 1  position = position + Vector2(0, 5)if Input.is_action_pressed("ui_left"):  #velocity.x -= 1  position = position + Vector2(-5, 0)if Input.is_action_pressed("ui_right"):  #velocity.x += 1  position = position + Vector2(5, 0)if Input.is_action_just_pressed("ui_accept"):  field_booton()# 标准化速度向量(可选,取决于你是否想要对角移动速度保持一致)  #if velocity.length_squared() > 0:  #velocity = velocity.normalized() * speed  # 更新角色的位置  #position += velocity * deltaif bullet_instance:bullet_instance.position.x += bullet_speed * delta

注意:
1、应该用delta保持不同平台的移动是一样的

2、@onready var player_sprite = $player_sprite:这个拿到的是null,不知道为什么:为什么是null,因为$是在子节点里找child,我们加脚本应该在node2d里加,不应该在sprite2d里加

3、onready已经被废弃,使用@onready

4、instanse()已经被废弃,使用instansite()

5、不能直接add_child(bullet_instance),而是应该get_tree().root.add_child(bullet_instance),不然子弹和sprite其实是一个节点,上下移动都是相对的

 5.botton脚本

extends Label# 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):position = position + Vector2(4, 0)pass

6.注意connect在godot4也被改了,改成两个参数了

func _ready():
# 假设我们有一个 Button 节点实例,并且我们想要连接其 'pressed' 信号到一个函数  connect("button_down", self._on_button_pressed)  # 然后定义处理按钮点击的函数  
func _on_button_pressed():  print("click the button")pass # Replace with function body.

7.注意button只能是contrl和node的子类,不能是node2d的子类

8.注意层级关系 

场景
main(contrl)
--background(textureact)
--player(node2d, this position add script)--player(sprite),preload(res//boom.tscn)
--A(contrl)--A(button), preload(res//menu.tscn)资源
menu.tscn(button)--get_tree().root.add_child()
boom.tscn(label or others)--get_tree().root.add_child()

9.lable不能放在node下面,应该放在node2的下面

http://www.yayakq.cn/news/406764/

相关文章:

  • 珠海移动网站建设公司排名网站服务器网络
  • 网站数据怎么会丢失展开网站建设
  • 新闻cms静态网站模板广州品牌设计工作室
  • 微信菜单怎么做微网站株洲网站定制
  • 网站备案核验点 上海泰州住房和城乡建设厅网站首页
  • 在线字体设计谷歌优化教程
  • 12380网站的建设情况做网站的软件淘汰史
  • 做网络主播网站违法吗no7wordpress
  • 公司网站是怎么做的建设网站应该注意的地方
  • 汕头教育学会网站建设房地产开发网站建设
  • 赫山区住房和城乡建设局网站wordpress大家都用什么主题
  • 网站建设图片大全wordpress财务会计系统
  • 宁乡网站开发电商网站 模板
  • 石家庄网站排名优化哪家好怎么在抖音上卖东西
  • 国内专门做旅游攻略的网站在长沙阳光医院做网站编辑
  • 电子商务与网站建设实践论文网站地图怎么生成
  • 网站开发php学校企业网站推广渠道
  • 网站开发电子书石材公司网站源码
  • 优化网站关键词如何查询网站的域名注册
  • 贵州最好的网站建设推广公司哪家好微信怎么弄小程序卖东西
  • 网站建设推广关键词网络营销的途径有哪些
  • 做的好的商城网站设计如何在百度发布广告信息
  • 余姚做百度网站建设做外贸是用什么网站做
  • 高港区住房和城乡建设局网站创建网站服务器地址
  • 建网站那家好上海做网站的公司
  • 网站用什么程序做的wordpress最好用的采集插件
  • win2008做网站拓客渠道有哪些
  • 建设银行网站储蓄账户查询密码外贸网址
  • 网站建设运行关键词网站查询
  • 巴西网站后缀高端企业网站设计公司