SketchyPhysics 3x June 27 version.
-
Thanks Phy! Since you pinpointed it, I found the problem. Seems it was trying to use @@pos2 before it had been created, I just had to add it into onstart and it worked fine!
-
Okay, playing around with vectors (another toe in the API pond). Basically, I'm finding them, then changing their length with joystick inputs. I then use them to control the velocity of an object; in this case, the player in an FPS system; this works pretty sweet, so I'll continue to add features, and see where it takes me!
EDIT: Fixed. Tell me if it's not
-
there is an Error. double-clicking wont kick the object.
-
I removed double click = kick because it was seldom used and interfering with the new events.
-
Here is another useful script. It allows scripts to print text to the screen. In this case a log of whatever touches the floor.
#add blank text to screen at 10,50 @@log=SketchyPhysics;;addWatermarkText(10,50,"") #place to store lines @@lines=[] ontouch{|t,s,p| #add new line @@lines.push(t.name+" touched "+self.name) #ensure only 5 lines on screen at once. @@lines.shift if @@lines.length>5 #display lines @@log.text=@@lines.join("\n") } onend{ @@log.erase! @@lines=nil }
-
Very nice script!
Can we upload with this version if we don't use the new features?
-
Never really got back to this one: Are we going to be able to set an object's scripting from an external source code?(ie setting an emitted object to explode on impact.)
-
Nice question, what do you want it for?
Something like this should work (this one doesn't work, just play around with it):
ontouch{|toucher,speed,pos| if(toucher.name=="box"){ split(self,1) } end }
Hope this helps!
-
@unknownuser said:
Never really got back to this one: Are we going to be able to set an object's scripting from an external source code?(ie setting an emitted object to explode on impact.)
Any SU ruby would work, ao you might be able to load an external .rb file as an ontick func, or whatever. But you don't need that to do what you're asking, as Jav has shown; and anything that SU can detect can be acted upon.
-
@wacov said:
@unknownuser said:
Never really got back to this one: Are we going to be able to set an object's scripting from an external source code?(ie setting an emitted object to explode on impact.)
Any SU ruby would work, ao you might be able to load an external .rb file as an ontick func, or whatever. But you don't need that to do what you're asking, as Jav has shown; and anything that SU can detect can be acted upon.
Hi everyone. Sorry I have been quiet lately. Been taking some time off and enjoying the summer.I think it is possible to set events externally with this version. I know the the syntax is a bit weird and I plan to clean it up.
Create a good sized cone and put this in its scripted field.
b=copy b._setEvent("ontick", <<CODE push([0,0,1])#go forward if(frame>50) destroy #die after 50. end CODE )
The cone will copy itself and then set the "ontick" event in the copy.
I tried to make an example that uses "ontouch" but it didnt work for some reason. I will have to debug it.
-
Sorry I don't have much to add, but there are a few things. I'm no programmer, I'm on the mechanical team.
-
You guys are blowing my mind. Wacov, when I opened your cloth file my jaw dropped for so long I almost drooled on my cat.
@unknownuser said:
Can we upload with this version if we don't use the new features?
- I needed an excuse to upload the Gopher.
-
-
Nice model!
-
Thank you, have another.
I figured out the scripted joints (big for me) to the point where I used universal joints for the bogies and you can copy more cars to the train, but the problem is I had to daisychain the joints under the cars so much the sag makes the cars lean in turns. Just beware of derails, they seem to be quite frequent...
If anyone can figure out a way around this, that would be great.
-
@norviewsveteran said:
- You guys are blowing my mind. Wacov, when I opened your cloth file my jaw dropped for so long I almost drooled on my cat.
@cphillips said:
I think it is possible to set events externally with this version. I know the the syntax is a bit weird and I plan to clean it up.
Create a good sized cone and put this in its scripted field.
b=copy > b._setEvent("ontick", > <<CODE > push([0,0,1])#go forward > if(frame>50) > destroy #die after 50. > end > CODE > )
The cone will copy itself and then set the "ontick" event in the copy.
I tried to make an example that uses "ontouch" but it didnt work for some reason. I will have to debug it.
It totally crashes my SU when I try it in ontouch, and freezes the sim in ontick... also, I can't drag the original object. It highlights, and the drag line appears, but no movement
-
@unknownuser said:
I think it is possible to set events externally with this version. I know the the syntax is a bit weird and I plan to clean it up.
Create a good sized cone and put this in its scripted field.
Err... looks like you didn't try it in the right field.
-
I mean ontick/touch as in:
ontick{ ... }
Try it, see what you get.
-
I am not 100% sure that works in this version. It may depend on some unreleased code. Can anyone confirm it works?
-
It works for me.
-
Same for me.
-
It works for me, just not in any events.
Advertisement