Menù principale
 Notizie
 Grafica
 Forum
 Links
 Retro Trailer
 Recensioni
 Modelli Amiga
 Storia Amiga
 Retro-Gamers
 Lista Utenti
 Contatti
 Policy sito
Ricerca Google

Login

Nick


Password


Comandi

[b]-[/b]
Attiva/disattiva il neretto

[i]-[/i]
Attiva/disattiva l'italico

[br]
Inserisce un a capo

[p]
Inserisce un interruzzione di paragrafo

[center]-[/center]
Attiva/disattiva allineamento centrato

[justify]-[/justify]
Attiva/disattiva allineamento giustificato

[box]-[/box]
Apre/chiude una tabella

[boxcell] o [boxcell=n]-[/boxcell]
Apre/chiude una cella

[boxrow]-[/boxrow]
Apre/chiude una linea di celle

[quote]-[/quote]
Crea un box per quotare commenti.

[quote=titolo]-[/quote]
Come Quote ma con titolo.

[size=valore]-[/size]
Imposta la grandezza del carattere

[color=valore]-[/color]
Imposta il colore del testo.

[url=indirizzo]-[/url]
Attiva una porzione di testo

[img]indirizzo[/img]
Visualizza l'immagine indicata in 'indirizzo'.

[img;w=px;h=px;mini=%]indirizzo[/img]
Come sopra, w ed h sono base e altezza in pixel o mini è la percentuale di riduzione dell'immagine. Con mini=std l'immagine avrà una grandezza predefinita

Rispondi ad un commento
Regolamento Commenti e Topic

Tutti gli utenti che usufruisco di questo servizio sono pregati di rispettare poche semplici regole:

- Non e' possibile inserire commenti/topic contenenti volgarita', torpiloquio e/o offese di vario genere.

- E' assolutamente vietato inserire immagini e/o link a sfondo pornografico.

- Sarebbe preferibile evitare commenti mirati alla polemica e alla provocazione.

- Si ricorda che per netiquette, scrivere maiuscolo equivale a "URLARE", non va quindi bene scrivere tutto un post in maiuscolo.

- E' necessario ricordare che non e' bene fare commenti sprezzanti riguardo argomenti quali: religione, politica e la multietnia

- Non sono molto tollerati commenti/topic con eccessive abbreviazioni stile SMS.

- Eventuali critiche all'operato dei moderatori saranno punite a discrezione degli stessi.

- E' consigliabile rileggere sempre i commenti/topic prima di postarli, onde evitare lo spopolare di commenti ricchi di errori che potrebbero anche essere fraintesi o non compresi da utenti non italiani che sono alle prime armi con la lingua.

- E' buona cosa inserire i Topic nelle corrette sezioni, nell'indice delle stesse e' presente una breve descrizione sul contenuto, in caso di errore i Topic possono essere spostati nella sezione corretta dagli admin (Mak73) I commenti/topic che non rispettano tali regole verranno eliminati.

I gestori del sito non si assumono nessuna responsabilita' sul contenuto dei commenti riportati.

Risposta

Stile Testo
Dimensione:  Colore:  Allinea: 

Altri comandi
Emoticons
Clicca per riportare il codice nell'area di testo oppure posizionati su un'immagine per vederne il relativo comando.
:) :( :D ;) :P Oo -.- :O :ok: :pugni: :sedia: :tsk: :morto: :vietato: :superman: :sbav: :guardati: :rolleyes: :ghgh: :asd: :specchio: :migira: :incazz: :svitato: :sese: :° :uhm: :eheh: :fii: :muro: :goccia: :clap: :wuatta: :boom: :angelo: :brill: :mhua: :rotfl: :huh: ^^ :nono: :rosso: :azz: :lol: :dmon: :dance: :cool: :bleah: :...: :cuori: :yeah: :alien:
Testo
formattazione
   

11 Maggio 2018 Postato da: Ozzyboshi_2
Demo "the crows" per imparare l'assembler basato su ramjam
Volevo segnalare che ho scritto un po' di "pensierini" su di una semplce demo che ho scritto insieme all'utente Dr Procton di questo forum, come test di apprendimento dei primi 9 capitoli del libro di Fabio Ciucci / Ramjam.
Potrebbe essere utile a chi come me sta studiando questo libro, la demo riprende i concetti di playfield, dual playfield, blittering e sprites.

Il sorgente è disponibile all'indirizzo

https://github.com/Ozzyboshi/AmigaDemo_the_cr ows

corredato di una spiegazione di quello che ho fatto e dei problemi che mi sono trovato ad affrontare.

Commenti: 195  Aggiungi - Pagine: 1...-6-7-8-9-10

Post inviati: 590

Visulizza profilo Messaggio Personale
62.94.49.*** Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36
Commento
Ozzyboshi_2 28 Maggio 2018    22:22:55
Grazie a tutti per gli incoraggiamenti: stasera ho fatto un po' mente locale sulla traiettoria che segue il teschio, vi annoierò con i miei calcoli trigonometrici

La funzione che ho usato nella versione 1.1 era:

f(x) = 80sin((1/80)x)+100

l'obbiettivo e' modificare l'ampiezza della sinusoide in modo che quando lo
scheletro batta sui bordi dello schermo, sia sempre alla solita altezza e
che lo stesso mai esca dallo schermo nella sua coordinata Y minima.
Riscriviamo quindi la formula sostituendo ai coefficienti i valori a,b e c

f(x) = a*sin((1/b)x)+c

o meglio

f(x) = a*sin(x/b)+c

Premesso che lo sprite del teschio e' 32X50px ela risoluzione dello schermo e'
320X256 e che l'ampiezza della sinusoide e' determinata dall'argomento del
seno (quindi da b), per avere la stessa Y devo metterle in uguaglianza
sostituendo la x con le coordinate X dello schermo dell'amiga.
A sinistra dello schermo la X e' zero (da dove parte il teschio), a destra
e' la risoluzione dello schermo orizzontale meno la larghezza dello sprite,
quindi 320-32 che fa 288.

Scrivendo l'eguaglianza e sostituendo la x con le coordinate dello schermo
amiga otteniamo:

a*sin(0/x)+c=a*sin(288/x)+c

semplifichiamo la a e la c e otteniamo
sin(0/b)=sin(288/b)

poiche' il seno è una funzione periodica e il suo periodo e' 2pi , possiamo
dire che 0/b=qualsiasi cosa piu o meno 2pi che arrotondiamo a 6.28, quindi

0/b=288/b+6.28

Cosi facendo la sinusoide avrà sono una "gobba" a differenza di prima che ne aveva diverse, se vogliamo aumentare le gobbe basta moltiplicare 2pi per il numero di gobbe, ma secondo me era troppo frenetico alla fine ho optato per qualcosa di piu allungato sull'asse delle x anche per dare meglio visibilita degli occhi che si muovono.

Continuando i caldoli... moltiplichiamo tutto per b

0 = 288 + b*6.28

portiamo a sinistra b

-b*6.28 = 288

quindi b = 288/-6.28 che fa -45.8599

adesso che abbiamo il nuovo b, utilizziamolo nella nuova funzione:

f(x) = 80sin((1/-45.8599)x)+100

Non è precississimo a causa dell'approssimazione del pi greco ma può andare.
Adesso però bisogna alzare un po' la sinusoide verso l'alto, il coefficiente
c rappresenta il punto di intersezione con l'asse Y, va alzato un po' in
modo che il punto piu basso della sinusoide sia uguale all'altezza del
teschio cosi da poterlo contenere tutto, quindi 50.
Quale è il valore minimo delle funzione seno? Ovviamente il -1 che viene raggiunto a
3/2 pi.

Riscriviamo la funzione con -1 al posto del seno, quindi

80*-1+c=50

ovvero -80+c=50

c=50+80

c=130

la funzione adesso sara

f(x) = 80sin((1/-45.8599)x)+130

vediamo il risultato su desmos.com :
Immagine

Ma sopratutto vediamo il risultato finale sulla nostra amiga, ecco l'adf: http://adf.ozzyboshi.com/the_crows_dual_pf_bove_V1 .2.adf
Per i signori che non hanno voglia di scriversi l'adf su di un floppy: https://www.youtube.com/watch?v=kdZse6Nql4w

Nonostante tutti i miei sforzi vedo che comunque i risultati non sono precisi al pixel su winuae... boh, non so che dire, nella mia Amiga vera (quella che usavo da ragazzo e dove sto sviluppando questa demo) mi torna tutto al pixel, non so che dire...

Ah, ho corretto il nick di Seiya, avevo dimenticato una 'I', domando ancora scusa al nostro novello streamer di demo.
Ciao

Elenco comandi
  • [b]-[/b]-> Attiva/disattiva il neretto

  • [i]-[/i]-> Attiva/disattiva l'italico

  • [br]-> Inserisce un a capo

  • [p]-> Inserisce un interruzzione di paragrafo

  • [center]-[/center]-> Attiva/disattiva allineamento centrato

  • [justify]-[/justify]-> Attiva/disattiva allineamento giustificato

  • [box]-[/box]-> Apre/chiude una tabella

  • [boxcell]-[/boxcell]-> Apre/chiude una cella

  • [boxrow]-[/boxrow]-> Inizializza/chiude una linea di celle

  • [quote]-[/quote]Url banner:

  • [quote=titolo]-[/quote]-> Come il precedente quote, ma è possibile specificare un titolo

  • [size=valore]-[/size]-> Imposta la grandezza del carattere del testo, 'valore' è la grandezza scelta. E' possibile anche specificare un 'valore' aggiuntivo alla grandezza attuale '[size=+2]'.

  • [color=valore]-[/color]-> Imposta il colore per il testo. 'Valore' è sempre esadecimale e varia da '000000' (nero) a 'ffffff' (bianco). Alcuni esempi:
    'ff0000' = Rosso
    '00ff00' = Verde
    '0000ff' = Blu
    'ffff00' = Giallo
    '00ff00' = Azzurro

  • [url=indirizzo]-[/url]-> Attiva una porzione di testo come link ad un determinato indirizzo, ad esempio [url=http://www.amigapage.it/]Amigapage[/url] renderà la parola 'Amigapage' come un link che rimanda a 'http://www.amigapage.it'

  • [img]indirizzo[/img]-> Visualizza l'immagine indicata in 'indirizzo'. E' possibile usare anche la versione [img;w=pixel;h=pixel;mini=valore]indirizzo[/img], il parametro 'w' specifica la lunghezza in pixel da usare
    il parametro 'h' specifica l'altezza in pixel da usare
    il parametro 'mini' specifica il livello di riduzione dell'immagine in percentuale

Utenti Online
Utenti registrati: 1206 dal 1 Gennaio 2006
di cui online: 3 registrati - AfAOne - LucioM - Guruman -
107 non registrati

Benvenuto all'ultimo utente registrato: zulu

Buon Compleanno a frank62 - Kosmokrator - 

© Amigapage 1998 - 2007 - Sito italiano dedicato alla piattaforma Amiga ed evoluzioni varie.
Struttura del sito interamente ideata e realizzata da Marco Lovera e Alessandra Lovera - Tutto il materiale inserito all'interno del sito è dei rispettivi autori/creatori.
E' assolutamente vietata la riproduzione o la manipolazione di tutti i contenuti o parte di essi senza l'esplicito consenso degli amministratori e degli autori/creatori.

Eseguito in 0.102215051651 secondi