2013-04-17 39 views
0

我是一個JS新手,最近我發現了一個用於創建增強現實應用程序的SDK,其中包含名爲wikitude的html/css/js。當你在下面看到的時候,你會看到一個按鈕,當點擊時調用scaleModel函數,然後爲scale屬性創建新的值,這將允許3d模型我的應用程序顯示尺寸增加。我只想創建一個按鈕,每按一次它都會增加數值,而另一個按鈕則會在每次按按鈕時降低數值。這樣我會有兩個按鈕,一個用於增加尺寸,另一個用於減小。我非常感謝你的幫助。如何用onclick多次更改變量的值?

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta name="viewport" content="target-densitydpi=device-dpi, width = 540, user-scalable = 0" /> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>My ARchitect World</title> 
<script src="architect://architect.js"></script> 
<script> 
var model; 
var location; 

function createModel() 
{ 
AR.logger.activateDebugMode(); 
AR.logger.info("info"); 

var modelOptions = { 
    scale: {x: 0.1, y: 0.1, z: 0.1}, 
    rotate: {heading: -30}, 
    rotate: {tilt: 30}, 
    translate: {y: -0.5} 
}; 

model = new AR.Model("my3dModel.wt3", modelOptions); 
location = new AR.RelativeLocation(null, 0, -50, 0); 
var myGeoObject = new AR.GeoObject(location, {drawables: {cam: model}}); 
} 

function scaleModel() { 
model.scale.x = 0.5; 
model.scale.y = 0.5; 
model.scale.z = 0.5; 
} 

</script> 
</head> 

創建動畫 規模

回答

1

如果你犯了一個新的功能,如scaleModel()功能,通過量乘以規模,而不是設置它的:

function scaleModelBy(amount) { 
    model.scale.x = model.scale.x * amount; 
    model.scale.y = model.scale.y * amount; 
    model.scale.z = model.scale.z * amount; 
} 

您可以在一些按鈕中調用它:

<button onclick="scaleModelBy(2);">Scale up</button> 
<button onclick="scaleModelBy(0.5);">Scale down</button> 
+0

我唯一的選擇是多重?我無法添加?乘數不會讓我按照我想要的那樣精確地縮放。 – user974725

+0

您可以添加。只需製作另一個函數或修改上面的函數,以便它添加數量而不是相乘。 –

+0

難道他們都不是浮動 – user974725