![]() |
#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
|
|||
|
|||
![]()
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
|
|||
|
|||
![]() Thanks farshizzo! |
![]() |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
![]() |
||||
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 |