per me (premetto k nn conosco il vbasic) basta assegnare le variabili x e y alle corrispettive coordinate della telecamera, mi spiego meglio:
x = posizione x della telecamera
y = posizione y della telecamera
if (tasto destro premuto ) tasto destro per esempio
telecamera.x + 2
if (tasto sinistro premuto) tasto sinistro per esempio
telecamera.x - 2
se nn hai capito
si grazie questo è per far scorrere la telecamera (ma come la collego allo sprite del personaggio eh <.<) e il tasto destro premuto sarà if evt.key == pygame.K_LEFT:
comunque ditemi se ci sono errori su questo codice:
#! usr/bin/env python
import pygame
screen = pygame.display.set_mode((800, 600))
background = pygame.image.load('Scrolling_BasicBackground.jpg').convert()
# we render the viewport in a smaller rectangle centered within the screen
# to give us room to print statistics.
#
vpRenderOffset = (80,60)
vpStatsOffset = (80,540)
vpCoordinate = 0
minHorzScrollBounds = 0
maxHorzScrollBounds = 1996 # 2636 - 640
advanceVelocity = 0
scrollVelocity = 10
# generate an event 30 times a second, and perform simulation update. this
# keeps the game running at the same speed in framerate-independent fashion.
#
UPDATE = pygame.USEREVENT
pygame.time.set_timer(UPDATE, int(1000.0/30))
if not pygame.font.get_init():
pygame.font.init()
arialFnt = pygame.font.SysFont('Arial', 16)
running = True
while running:
for evt in pygame.event.get():
if evt.type == pygame.QUIT:
running = False
elif evt.type == pygame.KEYDOWN:
if evt.key == pygame.K_LEFT:
advanceVelocity += -scrollVelocity
elif evt.key == pygame.K_RIGHT:
advanceVelocity += scrollVelocity
elif evt.key == pygame.K_ESCAPE:
pygame.event.post(pygame.event.Event(pygame.QUIT, {}))
elif evt.type == pygame.KEYUP:
if evt.key == pygame.K_LEFT:
advanceVelocity += scrollVelocity
elif evt.key == pygame.K_RIGHT:
advanceVelocity += -scrollVelocity
elif evt.type == UPDATE:
vpCoordinate += advanceVelocity
if vpCoordinate < minHorzScrollBounds:
vpCoordinate = minHorzScrollBounds
if vpCoordinate > maxHorzScrollBounds:
vpCoordinate = maxHorzScrollBounds
# render
screen.fill((0,0,0))
viewport = background.subsurface((vpCoordinate, 0) + (640, 480))
screen.blit(viewport, vpRenderOffset)
screen.blit(arialFnt.render('coordinate: %4d' % vpCoordinate, True, (255,255,255)), vpStatsOffset)
pygame.display.flip()
Messaggi: 1,021
Discussioni: 28
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: May 2010
Reputazione:
9
Moneta: 8,928.09 MkGold
ma lo devi fare in visual basic o in python? (il codice che hai scritto è in phyton con pygame)
in caso fosse con visual basic che libreria o engine usi?
infatti è questo il bello ho il codice in python ma io voglio farlo in visual basic non userò nessun engine creo direttamente io intanto sono poche righe di codice con vari livelli non preoccuparti steve a me serve solo quel codice e come creare una libreria xD!
Messaggi: 1,021
Discussioni: 28
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: May 2010
Reputazione:
9
Moneta: 8,928.09 MkGold
Ho capito molto poco però:
x_personaggio = x_schermo /2
if premi_dx then
x_background = x_background - velocità
animazione_corsa_avanti on
if premi_sx then
x_background = x_background + velocità
animazione_corsa_indietro on
else
animazione_corsa_avanti off
animazione_corsa_indietro off
end if
In questo modo clickkando verso destra il background scorre verso sinistra e viceversa (dovrai fare un background piuttosto lungo).
Il personaggio resta al centro dello schermo (farai partire l'animazione alla pressione delle frecce) e si muove solo lo sfondo.
Utilizzando questo metodo (con background in movimento) potresti avere problemi a gestire collisioni, però mi hai detto tu di volerlo così...
Non ho idea di cosa userai per gestire il 2d, quindi ho scritto un generico animazione_corsa_.... on/off
ok steve aiutami tu perfavoreeee *-* dimmi la tua idea e tutto quanto collisioni gestire il 2d e tutto quanto perfavore!
p.s(io non me ne intendo di 2d illuminami *-*)
dimmi dove è quella guida prima e poi metto le collisioni xD
Messaggi: 1,021
Discussioni: 28
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: May 2010
Reputazione:
9
Moneta: 8,928.09 MkGold
Quella guida parla di c++ e allegro.h (uno dei tanti modi per fare il 2d con il c++).
Se lo fai in visual basic devi usare altro, comunque quel pezzo di spiegazione è generico.
Con visual basic puoi usare: directx, opengl, the dxice Game engine sdk, ecc...
ho trovato un certo truevision3d che supporta il visual basic è un engine e ha un map editor carino ora lo provo u.u