主题:  【Authorware√常见问题】

与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
注册:2001/3/11 15:45:42
#462002/9/17 8:44:47
[问题]在用AW做课件时要用到FLASH并想把AW中的变量值传给FLASH,但我不知怎么做?
[解答](from Y)
传递变量值用:CallSprite(@"Flash Icon", #setVariable, variableName, value).
第1个参数是图标名,第2个参数不要变, 第3个参数是变量名,第4个参数是变量值。
CallSprite(@"Flash Icon ", #getVariable, variableName)
用来取得FLASH 中变量的值。

编辑历史:[这消息被Y编辑过(编辑时间2002-09-17 14:29:48)]


与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
注册:2001/3/11 15:45:42
#472002/9/17 9:09:07
[问题]程序在AW6里打好包后,运行时在屏幕上不能随意拖动,请教各位。

[解答](from Y)
可以用条件响应实现mousedown then movewindow.在movewindow之前,要记录下鼠标及窗口原有坐标:cursorX,cursorY,WindowTop,WindowLeft,通过鼠标移动的距离算出窗口应该move的距离。条件响应mousedown和rightmousedown都可以,这样的程序在打包后运行就能实现移动窗口的效果。
通过API函数SendMessage(WindowHandle,161, 2, 0)也可以。

编辑历史:[这消息被Y编辑过(编辑时间2002-09-17 18:06:47)]


与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
注册:2001/3/11 15:45:42
#482002/9/17 9:32:25
[问题]在对硬盘分驱格式化之后,每个驱动器都会有一个唯一的序列号(Volume Serial Number),就是用VOL命令列出的16进制数,这个号码可以用于加密、防拷贝等用途。如何在AW中得到序列号?
[解答]以下是从本人以前编写过的代码中摘录出来的,目的就是读取驱动器 C 的序列号,其中用到winapi.u32中的GetVolumeInformation和memtools.u32中的内存分配函数。
mem2 := AllocMem(4)
mem3 := AllocMem(4)
GetVolumeInformation( "C:\\", "", 0, mem2, mem3, "", "", 0 )
HardSerialNumber := PeekULong(mem2, 0)
FreeMem(mem2)
FreeMem(mem3)

变量HardSerialNumber的值就是10进制的序列号(与使用vol命令看到的16进制序列号等值)。
mem3可以用作获得当前文件系统支持的文件名最大长度(如windows 98中是256)。



与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
注册:2001/3/11 15:45:42
#492002/9/17 10:10:07
[问题]我想在程序中实现每隔一定时间定时刷新数据的功能,请问有办法吗?
[解答](from y)
用永久性条件响应吧,设置为RETURN,例如每3秒一次就用~mod(sec,3)作为匹配条件。要禁止/开启刷新的话可以再&一个自定义逻辑变量。



与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
注册:2001/3/11 15:45:42
#502002/9/17 13:53:28
[问题]用了两个文本交互,当输入完了第一个后,直接用鼠标移到第二个文本交互中,我用什么方法可以检测得到已经离开第一个文本交互呢?
[解答](from Y)
设计图标名称可以使用注释符来区别不同的设计图标。因此可以采用两种方法。
1、Within@"*--first"的值为FALSE,或Within@"*--second"的值为TRUE。
2、也可以用ExecutingIconID查看当前执行的设计图标ID。



与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
注册:2001/3/11 15:45:42
#512002/9/17 14:07:48
[问题]我在AW6中的文字应用ANTI-ALIAS效果,在AW6环境中运行OK,发行为EXE后运行,则无ANTI-ALIAS效果,不知是否有窍门?
[解答](from Y)
是因为缺少一个XTRA!ANTI-ALIAS是通过viewsvc.x32来完成的。



与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
注册:2001/3/11 15:45:42
#522002/9/19 15:05:55
[问题]winctrls提供的背景颜色有哪些?
[解答](from Y)
共有19种。


其中WindowText、Window、ButtonFace三种颜色与用户的windows桌面设置有关。在AW6.5中,颜色可以使用十六进制表示,就多多了。

编辑历史:[这消息被Y编辑过(编辑时间2002-09-27 01:43:23)]
[此帖被Y编辑过(编辑时间2003-11-11 15:40:47)]


魔岩

职务:版主
等级:6
金币:34.0
发贴:4453
注册:2004/1/13 10:53:31
#532002/9/22 1:14:18
[问题] AW6中对库文件的个数有什么限制吗?

[解答] [寒冰网友]
一个Authorware程序可以同时与17个库文件建立链接关系,而且在一个程序中,可以同时打开20个库文。



魔岩

职务:版主
等级:6
金币:34.0
发贴:4453
注册:2004/1/13 10:53:31
#542002/9/28 0:59:41
[问题]创建一个EXE执行文件的快捷方式并放到桌面上?

[解答](魔岩工作室 Rock Studio)
用budapi.u32吧,简单实用的两个函数baMakeShortcut和baMakeShortcutEx:
Result := baMakeShortcut( FileName , Path , Title )

Creates a Win 95/NT shorcut.
FileName is the file the shortcut points to.
Path is the location for the shortcut to be created in.
Title is the name to give the shortcut.
Returns 1 if made successfully, else 0.
Only works in 32 bit.

Result := baMakeShortcutEx( FileName, Path, Title, Args, WorkDir, Icon, IconNumber, Hotkey, State )

Creates a Win 95/NT shorcut.
FileName is the file the shortcut points to.
Path is the location for the shortcut to be created in.
Title is the name to give the shortcut.
Args is the arguments for the shortcut.
WorkDir is the working dirctory.
Icon is the name of the icon file.
IconNumber is the number of the Icon to use.
Hotkey is the virtual key code of a hot key.
State is the state of the window.
Returns 1 if made successfully, else 0.
Only works in 32 bit.



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:954
注册:2001/5/11 19:19:54
#552002/10/4 8:45:26
[问题]
各位:
我在AUTHORWARE6.0中插入GIF動畫后,其一直循環播放.不知怎么控制.謝謝!!
[解答]--虚竹
CallSprite(IconID@"IconTitle", #pause) --暂停
CallSprite(IconID@"IconTitle", #resume) --继续
CallSprite(IconID@"IconTitle", #rewind) --返回到第一桢播放


真正的光明绝不是永没有黑暗的时间,只是永不被黑暗所湮没罢了;真正的英雄绝不是永没有卑下的情操,只是永不被卑下的情操所屈服罢了。

魔岩

职务:版主
等级:6
金币:34.0
发贴:4453
注册:2004/1/13 10:53:31
#562002/10/16 16:59:44
[问题]怎样关闭authorware中的“查找”窗口?

[解答](斑竹Y)
用外部的WINAPI函数。
handle:=FindWindow( "AWWoidDialog" , "Find")
SendMessage( handle, 16, 0, 0)



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:954
注册:2001/5/11 19:19:54
#572002/10/20 9:59:35
[问题]
在aw中插入flash,如何先载入flash文件,但是不运行它,直到用按钮交互使它运行?

[解答]--虚竹
提供两种思路:
一、
如果用插入的话,在属性中先把pause选上,使动画停止在第一桢,然后取消属性选项中Image这一项,使画面消失!这样就实现了你的要求,当你要播放的时候,只要用setspriteproperty这个函数把Image项重新设为ture,然后用callsprite函数调用play方法就行了!
setspriteproperty(iconid@"flash",#image,ture)
callsprite(iconid@"flash",#play)
二、
如果用控件插入,就更简单了,只要在开始用函数设定被播放文件,即指定文件位置就行了!
在播放时,用函数的PLAY方法驱动!



真正的光明绝不是永没有黑暗的时间,只是永不被黑暗所湮没罢了;真正的英雄绝不是永没有卑下的情操,只是永不被卑下的情操所屈服罢了。

魔岩

职务:版主
等级:6
金币:34.0
发贴:4453
注册:2004/1/13 10:53:31
#582002/10/31 19:52:26
[问题]如何恢复交互Flash的手型鼠标指针?

[解答](版权所有 魔岩工作室 Rock Studio)
版权所有:魔岩工作室 Rock Studio
在authorware中直接插入交互Flash动画的时候,鼠标移到交互按钮上时,鼠标指针并不会自动变为手型状,而是保持不变,如何解决这个问题呢?这里提供一个完美的解决方法:在插入的Flash Movie...图标后添加一显示图标,双击打开,用文本工具输入以下一行代码:
{Test((GetSpriteProperty(@IconPrev(IconID),#mouseOverButton)),SetCursor(6),SetCursor(0))}
显示图标必须保证紧跟插入的Flash图标后面,同时勾选上显示图标的“Update Displayed Variables”,此时你再播放带交互的Flash动画,发现熟悉的手型呈现出来了,这招绝吧。。呵呵

编辑历史:[这消息被Rock编辑过(编辑时间2002-11-01 15:49:42)]


魔岩

职务:版主
等级:6
金币:34.0
发贴:4453
注册:2004/1/13 10:53:31
#592003/7/1 13:24:13
[问题]如何使AW程序居中显示?

[解答]
下面代码放在流程开始处即可实现居中:
MoveWindow((ScreenHeight-WindowHeight)/2,(ScreenWidth-WindowWidth)/2)



魔岩

职务:版主
等级:6
金币:34.0
发贴:4453
注册:2004/1/13 10:53:31
#602003/7/9 10:33:29
[问题]在AW的调色板中,那个方格图案的是什么颜色?




[解答](网友cxt)

用于设置视频的关键色

编辑历史:[这消息被Rock编辑过(编辑时间2003-07-09 10:34:00)]