Unity3D 用滑动GUI控制物体缩放的程序应该怎么编·· ·· 希望能给我发个完整的代码过来··

Unity3D 用滑动GUI控制物体缩放的程序应该怎么编·· ·· 希望能给我发个完整的代码过来··,第1张

例:控制一个cube的大小,新建场景,新建cube,放到0,0,0,新建js脚本,复制然后拖给cube或者maincamera即可。

var mCube:Transform

var SliderScaleValue:float = 0.0

function Start()

{

SliderScaleValue = mCube.transform.localScale.x

}

function OnGUI()

{

GUI.Label(Rect(10,20,50,20),"缩放")

//1-5为放大的值范围,如果只要按钮,那就换成2

//1

SliderScaleValue = GUI.HorizontalSlider (Rect(60,25,120,20),SliderScaleValue,1,5)

//2

//SliderScaleValue=3.0f

mCube.transform.localScale = Vector3(SliderScaleValue,SliderScaleValue,SliderScaleValue)

}

这个功能在windows上测试安装卸载时,有时会用到,网上查到的两种语言的版本如下:

C#版:

[csharp] view plain copy

Shell shell = new Shell()

Folder folder = shell.NameSpace(Path.GetDirectoryName(appPath))

FolderItem app = folder.ParseName(Path.GetFileName(appPath))

string sVerb = isLock ? "锁定到任务栏(&K)" : "从任务栏脱离(&K)"

foreach (FolderItemVerb Fib in app.Verbs())

{

if (Fib.Name == sVerb)

{

Fib.DoIt()

return true

}

}

return false

VB版:

[vb] view plain copy

Public Shared Function LockApp(isLock As Boolean, appPath As String) As Boolean

Dim shell As New Shell()

Dim folder As Folder = shell.[NameSpace](Path.GetDirectoryName(appPath))

Dim app As FolderItem = folder.ParseName(Path.GetFileName(appPath))

Dim sVerb As String = If(isLock, "锁定(&K)", "脱离(&K)")

For Each Fib As FolderItemVerb In app.Verbs()

If Fib.Name = sVerb Then

Fib.DoIt()

Return True

End If

Next

Return False

End Function

接下来,就是要把上面的代码如何转化为Python了,此处使用到了Windows接口,Python中调用windows接口,可以使用win32com

代码如下:

[python] view plain copy

def DeleteQuickLaunchOnTaskBar(lnkName):

objShell = win32com.client.Dispatch("Shell.Application")

taskbarPath = os.path.join(os.environ["appdata"], r'Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar')

lnkName = DesktopCommon.ToUnicode(lnkName)

objFolder = objShell.NameSpace(taskbarPath)

desktopItems = objFolder.Items()

for item in desktopItems:

if DesktopCommon.ToUnicode(item.Name) == lnkName:

verbs = item.Verbs()

for verb in verbs:

if DesktopCommon.ToUnicode(verb.Name) == u"从任务栏脱离(&K)" or  DesktopCommon.ToUnicode(verb.Name) == u"Unpin from Tas&kbar":

verb.DoIt()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11349112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存