找回密码
 立即注册
    查看: 2|回复: 0

    伪3D效果

    [复制链接]

    326

    主题

    66

    回帖

    1466

    积分

    积分
    1466
    发表于 2025-3-1 16:47:12 | 显示全部楼层 |阅读模式

    1. if win then
    2.   GUI:win_close(win)
    3.   
    4. end
    5. local win = GUI:Win_Create("Win_1", 0, 0, 1136, 640)

    6. local BtnOk = GUI:Button_Create(win, "BtnOk", 500, 300, "res/public/wm.png")

    7. GUI:setContentSize(BtnOk,300,300)
    8. GUI:addOnTouchEvent(BtnOk, function(sender, type)
    9.   -- sender: 传入控件自身
    10.   -- type: 触摸类型 int 0 - 3
    11.   if type == SLDefine.TouchEventType.began then           -- 0 触摸开始
    12.     if not sender._clicking then
    13.       sender._clicking = true
    14.       SL:scheduleOnce(sender, function()
    15.         sender._clicking = false
    16.         SL:Print("长按触发---")
    17.       end, 0.5)
    18.     end
    19.   elseif type == SLDefine.TouchEventType.moved then       -- 1 触摸移动
    20.     xy =  GUI:getTouchMovePosition(BtnOk)
    21.     SL:dump(GUI:getTouchMovePosition(BtnOk))
    22.     GUI:setAnchorPoint(BtnOk, 0.5, 0)
    23.     local angle = xy.y  -- 将触摸移动的Y坐标转换为旋转角度,除以10是为了减小旋转幅度
    24.     if angle >= 360  then
    25.       angle = 360
    26.     end
    27.    
    28.     if angle <= -360  then
    29.       angle = -360
    30.     end
    31.     GUI:setRotationSkewY(BtnOk, angle)
    32.   elseif type == SLDefine.TouchEventType.ended or type == SLDefine.TouchEventType.canceled then       -- 2 触摸结束 3 触摸取消
    33.     if sender._clicking then
    34.       GUI:stopAllActions(sender)
    35.       sender._clicking = false
    36.       SL:Print("单击触发---")
    37.     end
    38.   end
    39. end)


    40. -- local tableVersion = userdataToTable(Text_name)
    41. -- SL:dump(tableVersion,"=--=",3)
    42. -- SL:RegisterWndEvent(widget, desc, msgtype, callback)这个可以
    43. -- local Button = GUI:Button_Create(playerNode, "Button", 0, 0.00, "res/private/bl.png")





    44. -- playerNode = SL:GetMetaValue("ACTOR_MOUNT_NODE", SL:GetMetaValue("MAIN_ACTOR_ID"))  -- 获取玩家节点

    45. -- player = GUI:getParent(playerNode)  -- 玩家人物节点


    46. -- myx = player:setScale(1)

    47. -- SL:print(GUI:getName(Button))

    48. -- SL:print(GUI.getName(GUI,Button))


    49. -- -- -- userdata  --- C底层数据!









    50. -- local Button = GUI:Button_Create(playerNode, "Button", 0, 0.00, "res/private/bl.png")

    51. -- GUI:removeAllChildren(playerNode)















    52. -- a = GUI:getChildByName(win, "Button")

    53. -- playerNode = SL:GetMetaValue("ACTOR_MOUNT_NODE", SL:GetMetaValue("MAIN_ACTOR_ID"))
    54. --  aa = GUI:getParent(playerNode)



    55. --  GUI:addOnClickEvent(Button,function()  



    56. --    end)



    57. --- win  
    58. --- ---- button1
    59. --- ---- button2


    60. --  计数  管理多个节点 加载资源 控制生命周期 内存管理

    61. ---- 世界坐标     --- 地图坐标!
    62. -- 世界坐标 是一个全局的 统一的坐标系统!

    63. -- 地图坐标 是一个局部的


    64. -- SL:dump(GUI:getWorldPosition(Button1))
    65. -- for i =1 , 3 do


    66. --   GUI:setContentSize(Button,50,50)
    67. --   GUI:setTag(Button,i)
    68. --   GUI:Win_SetParam(Button, list[i])
    69. --   GUI:setName(Button, list[i])
    70. --   GUI:addOnClickEvent(Button,function ()
    71. --     GUI:setOpacity(Button, 200)
    72. --     GUI:Timeline_FadeIn(Button, 1 , nil)
    73. --     GUI:setFlippedX(Button, true)
    74. --   end)
    75. -- end
    76. -- GUI:addOnClickEvent(BT1,function()  SL:print("点击了黑色") end)
    77. -- GUI:addOnClickEvent(BT2,function()  SL:print("点击了蓝色") end)

    复制代码



    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则