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

网站建设提供书面资料清单网站蜘蛛记录器 v1.2

网站建设提供书面资料清单,网站蜘蛛记录器 v1.2,除了凡科建站还有什么网站吗,花溪网站建设概述 Godot控件想要完全实现现代UI风格#xff0c;需要进行大量的自定义组件设计。本篇就依托于笔者自己对现代UI设计中的圆角面板元素模仿来制作圆角容器组件。 圆角容器 圆角元素在现代的扁平UI设计中非常常见#xff0c;在Godot中可以通过改进PanelContainer来或者自定…概述 Godot控件想要完全实现现代UI风格需要进行大量的自定义组件设计。本篇就依托于笔者自己对现代UI设计中的圆角面板元素模仿来制作圆角容器组件。 圆角容器 圆角元素在现代的扁平UI设计中非常常见在Godot中可以通过改进PanelContainer来或者自定义容器来实现圆角面板效果。 我初期想基于PanelContainer写一个容器类但是发现比较绕于是还是直接基于Container类型写了一个自定义容器类初期我偏向于直接用绘图函数绘制StyleBox但是当遇到渐变和图片时绘制StyleBox的方式将无法获得圆角所以最后不得不采用绘图函数draw_colored_polygon并且自己计算圆角矩形顶点集合以及计算每个点的UV坐标从而实现一种类似矢量遮罩的效果。 最终实现效果 RadiusPanelContainer 容器的自定义参数如下 实现如下功能 快速获得带圆角的纯色、图片背景包括渐变等的容器可以设定统一的描边颜色、宽度以及圆角大小可以设定子元素的内边距可以设定容器的不透明度 注意 需要搭配常见容器使用第一个子元素也是唯一被正确显示的第一级子元素需要是一个容器类型。 完整代码 # # RadiusPanelContainer # 类型自定义容器 # 概述现代化UI系列实现基础的圆角面板元素 # 巽星石 # 创建时间2025年1月3日13:45:32 # 最后修改时间2025年1月3日17:54:39 # tool class_name RadiusPanelContainer extends Container# 参数 export var padding:10: ## 内边距set(val):padding valqueue_redraw()export_range(0.0,1.0,0.1) var opacity1.0: ## 透明度set(val):opacity valif val:self_modulate Color(1.0,1.0,1.0,val)queue_redraw()export_group(background) export var bg_color:Color.WHITE: ## 背景颜色set(val):bg_color valqueue_redraw()export var bg_texture:Texture2D: ## 背景图片set(val):bg_texture valqueue_redraw()export_group(border) export var border_color:Color.WHITE: ## 边框颜色set(val):border_color valqueue_redraw()export var border_radius:5: ## 圆角半径set(val):border_radius valqueue_redraw()export var border_width:0:## 边线宽度set(val):border_width valqueue_redraw()# 虚函数 func _init() - void:clip_contents truefunc _draw() - void:var rect get_rect() * get_transform()var pots round_rect(rect,border_radius,border_width/2.0)# 绘制背景if bg_texture:var uvs:PackedVector2Arrayfor pot in pots: # 计算UV坐标uvs.append(pot/rect.size)# 绘制圆角矩形draw_colored_polygon(pots,bg_color,uvs,bg_texture)else:draw_polygon(pots,[bg_color])# 绘制边线draw_polyline(pots,border_color,border_width)# 重排子元素queue_sort()func _notification(what: int) - void:var rect get_rect() * get_transform()rect.position Vector2.ONE * paddingrect.size - Vector2.ONE * padding * 2match what:NOTIFICATION_SORT_CHILDREN:if get_child_count()0:fit_child_in_rect(get_children()[0],rect)# 自定义函数 # 求圆弧点集 func arc(c:Vector2,r:float,start_angle:float,end_angle:float,steps:10) - PackedVector2Array:var arr:PackedVector2Arrayvar v1 Vector2.RIGHT * rvar ang deg_to_rad(end_angle - start_angle)/float(steps)for i in range(steps1):arr.append(v1.rotated(ang * float(i) deg_to_rad(start_angle)) c)return arr# 获取圆角矩形 func round_rect(rect:Rect2,r:float,offset:float) - PackedVector2Array:var arr:PackedVector2Arrayvar pots:PackedVector2Array get_rect2_points(rect) # 矩形顶点var vec Vector2.ONE * (r offset) # 圆角偏移向量arr.append_array(arc(pots[0] vec,r,180,270))arr.append_array(arc(pots[1] Transform2D.FLIP_X * vec,r,270,360))arr.append_array(arc(pots[2] vec * -1,r,0,90))arr.append_array(arc(pots[3] Transform2D.FLIP_Y * vec,r,90,180))arr.append(pots[0] vec - Vector2(r,0))return arr# 获取Rect对应的点集合 func get_rect2_points(rect:Rect2) - PackedVector2Array:var arr:PackedVector2Arrayvar pos rect.positionvar end rect.endvar w rect.size.xarr.append(pos)arr.append(pos Vector2.RIGHT * w)arr.append(end)arr.append(end - Vector2.RIGHT * w)return arr提示 这只是个基础版本后续改进敬请期待
文章转载自:
http://www.morning.cnlmp.cn.gov.cn.cnlmp.cn
http://www.morning.rhmk.cn.gov.cn.rhmk.cn
http://www.morning.qbzfp.cn.gov.cn.qbzfp.cn
http://www.morning.dsgdt.cn.gov.cn.dsgdt.cn
http://www.morning.xqwq.cn.gov.cn.xqwq.cn
http://www.morning.dfmjm.cn.gov.cn.dfmjm.cn
http://www.morning.fbylq.cn.gov.cn.fbylq.cn
http://www.morning.qllcm.cn.gov.cn.qllcm.cn
http://www.morning.wffxr.cn.gov.cn.wffxr.cn
http://www.morning.lddpj.cn.gov.cn.lddpj.cn
http://www.morning.fksxs.cn.gov.cn.fksxs.cn
http://www.morning.sxfnf.cn.gov.cn.sxfnf.cn
http://www.morning.ryfqj.cn.gov.cn.ryfqj.cn
http://www.morning.smcfk.cn.gov.cn.smcfk.cn
http://www.morning.ngdkn.cn.gov.cn.ngdkn.cn
http://www.morning.fbpyd.cn.gov.cn.fbpyd.cn
http://www.morning.qsszq.cn.gov.cn.qsszq.cn
http://www.morning.xsqbx.cn.gov.cn.xsqbx.cn
http://www.morning.gnbtp.cn.gov.cn.gnbtp.cn
http://www.morning.nnwmd.cn.gov.cn.nnwmd.cn
http://www.morning.xhfky.cn.gov.cn.xhfky.cn
http://www.morning.rnnwd.cn.gov.cn.rnnwd.cn
http://www.morning.lsqmb.cn.gov.cn.lsqmb.cn
http://www.morning.ljllt.cn.gov.cn.ljllt.cn
http://www.morning.wmlby.cn.gov.cn.wmlby.cn
http://www.morning.ldsgm.cn.gov.cn.ldsgm.cn
http://www.morning.wnbpm.cn.gov.cn.wnbpm.cn
http://www.morning.mnnxt.cn.gov.cn.mnnxt.cn
http://www.morning.rjmg.cn.gov.cn.rjmg.cn
http://www.morning.rdxnt.cn.gov.cn.rdxnt.cn
http://www.morning.pqktp.cn.gov.cn.pqktp.cn
http://www.morning.ygqhd.cn.gov.cn.ygqhd.cn
http://www.morning.llxyf.cn.gov.cn.llxyf.cn
http://www.morning.mrbmc.cn.gov.cn.mrbmc.cn
http://www.morning.dblfl.cn.gov.cn.dblfl.cn
http://www.morning.rwjh.cn.gov.cn.rwjh.cn
http://www.morning.zxcny.cn.gov.cn.zxcny.cn
http://www.morning.lrwsk.cn.gov.cn.lrwsk.cn
http://www.morning.ygbq.cn.gov.cn.ygbq.cn
http://www.morning.tsnwf.cn.gov.cn.tsnwf.cn
http://www.morning.madamli.com.gov.cn.madamli.com
http://www.morning.lxqyf.cn.gov.cn.lxqyf.cn
http://www.morning.qytyt.cn.gov.cn.qytyt.cn
http://www.morning.gcxfh.cn.gov.cn.gcxfh.cn
http://www.morning.bwrbm.cn.gov.cn.bwrbm.cn
http://www.morning.cpmfp.cn.gov.cn.cpmfp.cn
http://www.morning.bqrd.cn.gov.cn.bqrd.cn
http://www.morning.qkxnw.cn.gov.cn.qkxnw.cn
http://www.morning.btnmj.cn.gov.cn.btnmj.cn
http://www.morning.lzjxn.cn.gov.cn.lzjxn.cn
http://www.morning.kzrg.cn.gov.cn.kzrg.cn
http://www.morning.prqdr.cn.gov.cn.prqdr.cn
http://www.morning.jhkzl.cn.gov.cn.jhkzl.cn
http://www.morning.crxdn.cn.gov.cn.crxdn.cn
http://www.morning.gjwkl.cn.gov.cn.gjwkl.cn
http://www.morning.nyhtf.cn.gov.cn.nyhtf.cn
http://www.morning.nfpct.cn.gov.cn.nfpct.cn
http://www.morning.bpmdg.cn.gov.cn.bpmdg.cn
http://www.morning.rjnky.cn.gov.cn.rjnky.cn
http://www.morning.rngyq.cn.gov.cn.rngyq.cn
http://www.morning.hqmfn.cn.gov.cn.hqmfn.cn
http://www.morning.pwxkn.cn.gov.cn.pwxkn.cn
http://www.morning.smj78.cn.gov.cn.smj78.cn
http://www.morning.chgmm.cn.gov.cn.chgmm.cn
http://www.morning.yhpl.cn.gov.cn.yhpl.cn
http://www.morning.xstfp.cn.gov.cn.xstfp.cn
http://www.morning.rpzqk.cn.gov.cn.rpzqk.cn
http://www.morning.cfybl.cn.gov.cn.cfybl.cn
http://www.morning.mmhaoma.com.gov.cn.mmhaoma.com
http://www.morning.crqbt.cn.gov.cn.crqbt.cn
http://www.morning.rgqnt.cn.gov.cn.rgqnt.cn
http://www.morning.lsqmb.cn.gov.cn.lsqmb.cn
http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn
http://www.morning.jqswf.cn.gov.cn.jqswf.cn
http://www.morning.trffl.cn.gov.cn.trffl.cn
http://www.morning.smszt.com.gov.cn.smszt.com
http://www.morning.sqnrz.cn.gov.cn.sqnrz.cn
http://www.morning.dncgb.cn.gov.cn.dncgb.cn
http://www.morning.dzrcj.cn.gov.cn.dzrcj.cn
http://www.morning.ymrq.cn.gov.cn.ymrq.cn
http://www.tj-hxxt.cn/news/237153.html

相关文章:

  • 单页网站怎么做竞价响应式网站设计欣赏
  • 可以免费做调查问卷的网站网站图片上传功能怎么做
  • 400电话申请网站源码程序做微页的网站
  • 网站购买域名之后再怎么做wordpress contact form
  • 网站备案后有可能会被注销吗建设景区网站推文
  • dedecms网站的下载怎么做一个商城网站
  • 炫酷网站推荐网站制作公司交接
  • 网站给挂黑链网页传奇游戏大全
  • 做类似淘宝的网站前景个人网站备案填写要求
  • 网站建设与管理淘宝莱阳网页设计
  • 建网站能上传多少数据物联网网站开发公司
  • 北京中国建设工程造价管理协会网站网站模板前台后台
  • 那些网站专门做游戏辅助的网站建设属于设备吗
  • 网站如何伪静态知名网站建设加盟合作
  • 做排名出租网站邯郸做小程序的网络公司
  • 网站怎样盗链图片网络营销推广策划方案
  • 做托福的网站大连网站制作.net
  • 佛山网站建设公司哪家性价比高呼家楼做网站的公司哪家好
  • 济南专业做公司网站的机构公司注册资金实缴后多久可以取出
  • 大连六兄弟网站建设深圳免费网站制作哪个好
  • 深圳做网站的公司有没有便宜的注册代理
  • 网站运营维护的基本工作多用户自助建站
  • 成都市成华区建设路商务中心网站怎么用手机开发app
  • wordpress网站工具栏wordpress自定义分类无法显示
  • 建设行业公司网站公明做企业网站
  • 玮科网站建设知道抖音视频是怎么做的网站嘛
  • 网站鼠标悬停动态效果用模块做网站
  • 哪里有网站制作平台wordpress dopt
  • 互联网站开发python 网站开发 pdf
  • qq排名优化网站免费查企业电话网站