ciriaco
(ciriaco)
1
Hi, I would like to translate this old elasticity Flash script (AS5) in a blender driver
(I’m not programer) any ideas?
this fun AS flash in action: http://www.aixalanca.com/Pruebas/blender/elasticidad2.html
Movieclip.prototype.elasticScale = function(target, accel, convert) {
xScale = xScale * accel + (target - this._xscale) * convert
yScale = yScale * accel + (target - this._yscale) * convert
this._xscale += xScale
this._yscale += yScale
}
onClipEvent (enterFrame) {
elasticScale(200, 0.9, 0.1)
}
buttons:
onClipEvent (enterFrame) {
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
elasticScale(150, 0.9, 0.1)
} else {
elasticScale(100, 0.9, 0.1)
}
}
course is gpl
Thanks
=
Atom
(Atom)
2
Why do you needs a script?
Can’t you just do elasticity with softbodies?
skykooler
(skykooler)
3
import GameLogic
controller = GameLogic.getCurrentController()
sensor = controller.sensors["button"]
owner = controller.owner
def elasticScale(target, accel, convert):
ownxscale = owner.localScale[0]
ownyscale = owner.localScale[1]
ownzscale = owner.localScale[2]
owner.xScale = owner.xScale * accel + (target - ownxscale) * convert
owner.yScale = owner.yScale * accel + (target - ownyscale) * convert
owner.zScale = owner.zScale * accel + (target - ownzscale) * convert
owner.localScale = [ownxscale+owner.xScale, ownyscale+owner.yScale, ownzscale+owner.zScale]
elasticScale(2, 0.9, 0.1)
if sensor.positive:
elasticScale(1.5, 0.9, 0.1)
else:
elasticScale(1, 0.9, 0.1)
This requires a sensor to trigger it called “button” (I used a left mouse button sensor) and three properties called xScale, yScale and zScale.