Acties door times

  • Onderwerp starter Onderwerp starter GDay
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

GDay

Gebruiker
Lid geworden
30 aug 2007
Berichten
133
Hallo mensen van Helpmij

Ik bekijk dit forum al een aantal weken met plezier , heb hier altijd al veel antwoorden op mijn vragen gekregen , bedankt daar voor

Ik meld me hier nu aan omdat ik iets heb waar ik echt niet uit kom

even mijn introductie

Ik ben 14 jaar en woon in limburg
Ik ben sinds een aantal maanden bezig in visual basic 6
En ben nu proberen een soort spelletje te maken het werkt als volgt

Ik heb plaatjes op mijn form staan genaamd konijn1 , konijn2 ect
Ik heb al gezorgt dat als je erop klikt er bij je score +1 wordt opgeteld ,. ik heb ook al
een cheat functie gemaakt

Maar dit is veel te makkelijk
Ik wil graag dat de konijnen verplaatsen.
Het kan natuurlijk ook met
Visible = True & Visible = False
Maar ik wil het graag met een timer doen

Ik weet het deze uitleg is een beetje vaag
Maar ik kan het niet echt anders uitleggen
Heeft u vragen of zou u mij willen helpen
Dat ben ik heel erg dankbaar

GDay
 
Hoe en wanneer wil je het laten verplaatsen na 1 seconden of meer of minder?:rolleyes:
 
Ik heb niet zo veel verstand van timers maar ik heb misschoen een idee


Timer interval op 1000
En dan zoiets van om de 1 seconde

picture1.visible = true
picture3.visible = true

En dan zoon hele lijst en daarna weer bijv picture4.visible = true
Picture3.visible = false

Zo iets ongeveer
Ik kan dit niet coden

Iemand een begin / idee?
 
Oke, ik weet ongveer hoe het is vb6 gaat:

Maak eerst een nieuwe label (label1 heet die dan)

Zet onder de form_load event de volgende code:

Code:
Timer1.interval = 1000
Timer1.start

Zoek naar de timer1_tick event zet daar de volgende code neer:

Code:
label1.text = second(now)
update 'als dit niet bekend is bij vb6 moet je het maar weg halen
if label1.text + 1 then
'hier je code om een picturebox op een andere plek neer te zetten
end if
 
Laatst bewerkt:
bedankt ik begin het te begrijpen
Nog een vraag
hoe zet je via code een item ergens anders
 
Ik weet niet hoe in vb6 zit maar in vb.net zit het zo:

Code:
picturebox1.location = new system.drawing.point (50,50)

^De picturebox wordt dus op X50,Y50 neer gezet...
 
Sorry, niet alle code werkte in vb6 hier de complete code voor vb6:

Code:
Private Sub Form_Load()
Timer1.Interval = 1000
Label1.Caption = Second(Now)
End Sub

Private Sub Timer1_Timer()
Label1.Caption = Second(Now)
If Label1.Caption + 1 Then
Dim a As Integer
For a = 0 To 10000
Next
Dim b As Integer
For b = 0 To 10000
Next
Picture1.Top = Rnd * a
Picture1.Left = Rnd * b
End If
End Sub

Ik heb hem iets aangepast de computer kiest een willekeurig getal waar die moet komen te staan...

Succes verder:thumb:
 
Hey het werkt allemaal bedankt man alleen nog een probleempje
het is voor een spel en ik heb een soort van score balk alleen daar komt het plaatje ook in
Enig idee hoe ik dat wegkrijg??
Zie hier voorbeeld
probleemta9.png


Gday
 
Laatst bewerkt:
Plaatje aan klikken en op knopje Delete drukken op je toetsenbord dan is het plaatje weg;)
 
Nee lol ;p

Als je t spel doet komt t plaatje daar hoe kan ik instelle dat die daar niet komt
 
in je funx zetten:
(frame1 = de naam van je frame waarin "game sco0res" staat)

Code:
If Picture1.Top  < (frame1.height) then
picture1.top = frame1.height + 10
end if


V.:thumb:

ps. wat een slechte l33t-speak ;)
 
Als je het plaatje in een panel plaatst, blijf hij netjes tussen de lijntjes van het panel;) Alleen het probleem dat vb6 geen panel heb:confused:
 
nee, omdat je daar een frame voor hebt, of een picturebox (hoewel je dan bitblt mag gaan gebruiken, maargoed)


V.:thumb:
 
Vegras is het dan ook mogelijk om in te stellen dat hij alleen in een bepaald frame
blijft heen en weer ''springen''?
 
een timer1, een frame1, een picture1:
Code:
Private Sub Timer1_Timer()
Randomize
Picture1.Top = Rnd(1) * Frame1.Height
Picture1.Left = Rnd(1) * Frame1.Width
End Sub
randomize maakt de "Rnd()" mogelijk, de 1 is om een random getal tussen 0 en 1 te krijgen, en dat vermenigvuldig je met de breedte/hoogte van het frame om de left en top van picture1 te setten.

Noot dat het picture ook rechts en onder er half van af kan vallen omdat, stel, de Rnd(1) geeft een "1" de left van picture1 dus even groot is als het frame, maar dat is simpel op te lossen door de breedte van de picture1 van het frame1.width af te trekken.


V.:thumb:
 
Ey bedankt hij komt al niet boven in de socre balk
Maar soms zie je hem maar half dit heb ik geprobeertd
heb - en + geprobeerd werkt allebij niet wat doe ik verkeerd?

Private Sub Timer1_Timer()
Randomize
Picture1.Top = Rnd(1) * Frame1.Height - 855 Hoogte van me picture
Picture1.Left = Rnd(1) * Frame1.Width - 828 Breedte ervan
End Sub

Anyway thx
 
wiskunde ;)
Code:
Private Sub Timer1_Timer()
Randomize
Picture1.Top = Rnd(1) * (Frame1.Height - Picture1.Height)
Picture1.Left = Rnd(1) * (Frame1.Width - Picture1.Width)
End Sub
a)gebruik haakjes, want vermenigvuldigen gaat voor aftrekken
b) gebruik altijd de property's voor height en width, niet een getal (zoals je eerst zelf deed) omdat dit makkelijker is als je image1 aanpast of als je verkeerde scale-modes gebruikt.


V.:thumb:
 
Erg bedankt , ook voor de uitleg anders leer ik nooit wat :(


Ik heb nog een vraagje en dan zijn mijn problemen voorlopig opgelost :cool:

Ik heb dus nu iets gemaakt om de score te bereken namelijk
Je + punten - je - punten

Ik heb deze code ervoor gebruikt

Private Sub Command4_Click()
Label19.Caption = Label19.Caption + Label14.Caption - Label15.Caption
End Sub


In dit geval 250 - 1 = 249 dat doet die ook wel maar zodra je 2 x op de command button klikt maakt hij er 249249 van

Zie plaatje :

uploadek4.png
 
dat komt omdat de "caption" van een label een "string" is; een stuk text.
Wat je moet proberen is om eerst de waarden op te slaan in variabelen (die integers, doubles, singles, enz. zijn) en daarna pas te rekenen

*noot dat integers alleen voor "hele" getallen zijn*

voorbeeldje:
Code:
dim varPlus as integer
dim varMin as integer
varPlus = label14.caption
varMin = label15.caption
label19.caption = varPlus - varMin

Nu was dit niet helemaal het punt van je probleem, maar het is makkelijker en beter als je alles in variabelen opslaat, want nu werk je met "label # 19" en dat zijn erg veel labels :p;)

Wat je code was:
Code:
Private Sub Command4_Click()
Label19.Caption = Label19.Caption + Label14.Caption - Label15.Caption
End Sub
wat deze doet: de waarde van het label19 = wat er al staat (label19.caption) en daar doe je bij de waarde van label 14 en daar haal je de label15 van af
probeer eens:
Code:
Private Sub Command4_Click()
Label19.Caption =  Label14.Caption - Label15.Caption
End Sub


V.:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan