2009年1月8日 星期四

Papervision3D的正反两面材质测试


要做到Papervision3D的Plane实现正反两面材质,现在主要有两个方法:
一是利用DisplayObject3D两个Plane放到一起,贴图做到一正一反就可以实现:[wave2.swf]
p = new Plane(bitmapMaterial,829, 389,10,10);
planeGroup.addChild(p);
p2 = new Plane(bitmapMaterial2,829, 389,10,10);
p2.rotationY = 180;
planeGroup.addChild(p2);
scene.addChild(planeGroup);

波动效果利用Plane的segments分段特性,控制每个geometry.vertices来实现。

二是利用Cube,把高度设为零,上下两面做贴图:[As3dModPerlin.swf]
var materialsList:MaterialsList = new MaterialsList() ;
materialsList.addMaterial(bitmapMaterial, "top" ) ;
materialsList.addMaterial(bitmapMaterial2, "bottom" ) ;
var cube:Cube = new Cube(materialsList, 829, 389 , 1,10,10,10 ) ;
planeGroup.addChild(cube) ;
scene.addChild(planeGroup);

波动效果采用everydayflashAS3Dmod库来实现。

标签: ,

2009年1月7日 星期三

URL Rewrite的VBscript解决办法

比如要实现这样的URL转向:
http://www.zhaiduo.com/page/3/
=>
http://zhaiduo.googlepages.com/search3.htm

如果服务器没有URLRewrite功能可用这个代码在Windows下生成目录和文件。然后用FTP上传即可。保存下面内容为:create.vbs
Option Explicit
Dim objFSO, objFolder, strDirectory, strDirectory2
strDirectory = "D:\zhaiduo.com\page"
Set objFSO = CreateObject("Scripting.FileSystemObject")

Dim I
For I = 1 To 55
strDirectory2=strDirectory & "\" & I
Set objFolder = objFSO.CreateFolder(strDirectory2)
WScript.Echo "Just created " & strDirectory2
CreateIndexFile strDirectory2, I
WScript.Echo "Just created " & strDirectory2 & "\index.php"
Next

WScript.Quit
'end

Sub CreateIndexFile(Folder,I)
Dim TextStream
Set TextStream = objFSO.CreateTextFile(Folder & "\index.php")
TextStream.WriteLine("")
TextStream.Close
End Sub

双击运行即可。

标签:

2009年1月6日 星期二

用Google App测试更新twitter遇到的问题

本来打算用PHP写一个Twitter的更新程序。主要问题在于通过Basic Authentication来通过授权。最简单的办法就是用Curl。这里有个很好的CLASS可以借鉴,但是无奈服务器对curl的限制,只好放弃。最近接触Google App,用的是Python。于是打算用Python试试。

Python中关于Http的Basic Authentication的教程已经很详细,大概的方法包括使用urllib、urllib2和httplib。无奈这些方法在google_app下都出现这样的错误:
AttributeError: 'module' object has no attribute 'error'

解决办法只有使用URL Fetch API,通过给header增加Authorization字段,达到通过Twitter API授权的问题。

代码如下:
base64string = base64.encodestring('%s:%s' % (username, password))[:-1]
result = urlfetch.fetch(url=update_url,
payload=form_data,
method=urlfetch.POST,
headers={
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic '+ base64string
})

标签: ,

Powered by Blogger

订阅
帖子 [Atom]