#1
|
|||
|
|||
Question regarding GUI sliders
Hello - i want to add several GUI sliders to my program - inspired by
the slider tutorial. The problem is that i want each slider to perform different functionality - and there is no identification for each slider. Anyway to fix this? does a slider obj have maybe an identity function? Thanks, Dan |
#2
|
|||
|
|||
2nd question - IS vertical slider possible?
Hi all,
As I am slowly learning the very basics, I would really like some help to know the following... is it possible to display a gui slider vertically? I have displayed one horizontally and after much fiddling around (I dont know python, still learning slowly) I managed to do what i want , i.e i wanted to display an object and scale it bigger and smaller with a slider with this code def myslider(obj, pos): bed.setScale( .01*pos, .01*pos, .01*pos ) viz.callback(viz.SLIDER_EVENT,myslider) However, can I add: 1) a vertical slider so that the object can be moved up and down? if so what would the code look like? 2) I wanted to use a live webcam as the background image. there is a tutorial that maps the webcam as a texture to a quad. Can the live webcam image just be mapped as the "background" just like you can clear the background to a basic color, can it be "cleared" to the webcam image? I tried unsuccessfully to map the webcam live image to the skydome, but that just distorts the webcam image Thanks in advance! |
#3
|
|||
|
|||
The identity of a slider object is the object itself. Have a look at the docs for viz.SLIDER_EVENT, it explains how to determine which slider has changed. You can also use vizact.onslider for setting up callbacks for individual slider changes. Here is some sample code:
Code:
import viz viz.go() slider1 = viz.addSlider(pos=(0.5,0.1,0)) slider2 = viz.addSlider(pos=(0.5,0.2,0)) def Slider1Change(pos): print 'Slider 1 pos',pos vizact.onslider(slider1,Slider1Change) def Slider2Change(pos): print 'Slider 2 pos',pos vizact.onslider(slider2,Slider2Change) |
#4
|
|||
|
|||
Quote:
Code:
slider.setEuler(0,0,90) Quote:
Code:
import viz viz.go() viz.add('tut_ground.wrl') tex = viz.add('ball.jpg') def setBackgroundTexture(tex): background = viz.addRenderNode() background.setHUD(0,100,0,100,True) background.setOrder(viz.PRE_RENDER) background.texture(tex) viz.MainWindow.setClearMask(viz.GL_DEPTH_BUFFER_BIT) setBackgroundTexture(tex) |
#5
|
|||
|
|||
Thank you for the code Farshizzo.
I do think I need to read a lot more! I was thinking adding a texture as background would be a one line code :-) I tried out your example and it does work, but I have no clue as to how to make the live camera appear as the backgorund. Simply substituting 'cam' in place of tex in the above example does not do it Regards |
#6
|
|||
|
|||
P.s I just had to at least buy a Lite lisence while i keep asking so many questions.
So I did |
#7
|
|||
|
|||
I replaced the ball texture with a webcam texture and it worked fine for me. Here is the code:
Code:
import viz viz.go() viz.add('tut_ground.wrl') video = viz.add('VideoCamera.dle') webcam = video.addWebcam() def setBackgroundTexture(tex): background = viz.addRenderNode() background.setHUD(0,100,0,100,True) background.setOrder(viz.PRE_RENDER) background.texture(tex) viz.MainWindow.setClearMask(viz.GL_DEPTH_BUFFER_BIT) setBackgroundTexture(webcam) |
#8
|
|||
|
|||
works! I was adding an un nessary line.
Thanks farshizzo! |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
General question and question regarding arrays | dan12345 | Vizard | 1 | 01-15-2008 10:15 AM |
Stereo Overlap question | JMOwens | Vizard | 2 | 01-08-2008 08:54 AM |
viztask question | asimbh | Vizard | 1 | 11-20-2007 09:12 AM |
question about yaw, pitch, roll | TunTun | Vizard | 2 | 05-23-2007 12:46 PM |
Lots of Question | Karthi | Vizard | 4 | 02-20-2004 06:42 PM |