Eli jos formil on vaik bullet(0).picture ja tartteis luoda uusia näitä miten se onnistuisi?
ja sit mites noide kuvien maskaaminen?
Kiitän jo valmiiksi
Pidemmän päälle ainakaan uusien objektien lisääminen ei ole kovin toimiva ratkaisu (tuli kokeiltua nuoremmalla iällä: joku 1000 imagea hyydytti perus-Pentiumin ihan kokonaan).
Sen sijaan löytyy tämmöinen hieno funktio nimeltään BitBlt. Sillä onnistuu sekä maskaus että normaali piirtäminen. Ensin maskilla nollataan se alue mihin kohtaan halutaan ilmestyvän spriten pikseleitä ja sitten piirretään itse sprite.
BitBlt:lle pitäisi löytyä varsin pienellä etsintävaivalla vaikka kuinka opetusmateriaalia.
Tämän jälkeen tosin nousee tietysti kysymys, että miten pidät lukua kaikista niistä lentävistä ammuksista. Yksi tapa on käyttää user defined typejä, siis:
' suositeltuna sijaintina moduuli Public Type Ammus X As Single Y As Single End Type ' luo 100 ammusta; eli niitä voisi tällä tavoin olla maksimissaan 100 olemassa kerralla Dim Ammukset(99) As Ammus
Ja tietty siinä pitäisi myös olla suunta, nopeus... ehkä myös painokin, ja animaatiotakin voisi tietty toteuttaa pyörittämällä jotakin lukua ympäri.
X ja Y -sijaintiin käytin Singleä, eli 32-bittistä liukulukumuuttujaa, koska muuten lennosta voi tulla vähän pätkivä tai ammus ei saata liikahtaa ihan hitaimmilla nopeuksilla ollenkaan mihinkään, mikä ei varmasti ole kovin kiva juttu.
Toinen juttu on sitten vielä se, että voit sisäisesti ruudulle piirtämättä liikuttaa asioita useammin kuin mitä näytät ruudulla niitä tapahtumia. Tämä lisää yllättävällä tavalla sujuvuutta ja pelaajallekin tulee pelihahmon ohjastamiseen tarkkuutta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.