terça-feira, 24 de outubro de 2017

Alguém se lembra: Street Fighter II Victory?

Sabe quando a gente esperava o sábado de manhã chegar, para ver um novo episódio de seu desenho favorito?

Pois é, isso aconteceu comigo com Street Fighter II Victory!


Street Fighter II Victory é um anime feito com as personagens de um jogo de mesmo nome, que passava aos sábados no SBT.

Algumas perguntas com respostas sinceras sobre o desenho:

Tinha alguma coisa a ver com o jogo? 
Nada a ver.

O Ryu desta série demorava mais de uma hora para fazer o Haudoken? 
Sim, ele demorava quase o episódio inteiro para fazer. 

A Cammy parece mais velha que a Chun-Li, mesmo que ela tivesse nascido depois?
Bem, ela é um clone do Bison/Vega... Se você pensar bem, isso já é mais bisonho que esta pergunta!

Mas era bem divertido, mesmo não tendo nada do jogo!

Saudades? Então, que tal assistir sua abertura, só para relembrar (canal kramoszx):


Até mais!

Alguém se lembra: Changeman?

O primeiro esquadrão de super-heróis com roupas colantes com pessoas reais que vi na vida foi o Changeman:


Changeman conta a história de 5 jovens soldados que, misteriosamente, ao serem atacados por forças alienígenas, recebem poderes de uma tal de "força terrena", para salvar a Terra (e eles) desses seres malignos.

Cada um deles recebe o poder de um ser mitológico: Dragon (o líder), Griffon, Pegasus, Mermaid e Fenix (estranhamente os nomes não foram traduzidos... mas, pensando bem, seria esquisito a Change Mermaid se chamar Change Sereia).

Muito bacana! (principalmente as lutas coreografadas, mesmo que elas ocorressem na mesma pedreira abandonada de sempre :P )

Para matar a saudade, que tal assistir a abertura desta marcante série (do canal Fábrica de Lembranças):


Esquadrão Relâmpago, Changeman!

Até mais!

Alguém se lembra: Super Vicky?


Não, não é uma nova super pomada para aliviar a respiração em caso de uma super gripe. :P

Super Vicky é uma série de TV americana dos anos 80, que conta a história da "vida" da andróide chamada Vicky e sua "família".

Como toda série deste estilo (cômica), não existe uma ordem de visualização, você pode assistir tranquilamente qualquer episódio que dá para entender normal e, também, dar umas boas risadas. :)

Eu assistia nas manhãs de domingo na TV Globo (e, algumas vezes, bem de madrugada, durante a semana).

Nada a ver, mas deu saudade de quando eu tinha 10 anos... :)

Abaixo, a abertura da série (canal do Adair Junior):


Até mais!

Alguém se lembra: After Burner II?

Essa é para quem gosta de "simuladores" de avião.


After Burner II é um jogo de tiro da SEGA, que tem por objetivo, destruir o maior número de inimigos na tela e ficar vivo até o final (acho que o último é o "principal" objetivo).

O jogo não chega a ser "brilhante", mas a cabine era uma das coisas mais legais que já tinha visto (ela "tremia", tinha manche e umas coisas que deixavam a experiência "imersiva").

Se ainda existir uma máquina dessas ainda, vale a pena dar uma jogada. ;)

Abaixo, uma jogatina feita pelo canal killachief187 :


Até mais!

quarta-feira, 18 de outubro de 2017

Como executar coisas nativas em Javascript em Swift no iOS?

Para isso, basta importar o framework JavaScriptCore no seu projeto. :P

Bem, tem mais passos:

import UIKit
import JavaScriptCore

//Protocolo para externalizar a função
@objc protocol MainJS: JSExport {
//Função log
static func log(_ text: String);
}

//View Controller
class MainViewController: UIViewController, UIWebViewDelegate, MainJS

//WebView
@IBOutlet weak var webView: UIWebView!

//Implementação da função log
static func log(_ text: String) {
       print("[\(Date())] - \(text)")
}

//Carregou a View? (função)
override fund viewDidLoad() {
       super.viewDidLoad()
       webView.delegate = self
      //Cria uma página html com um botão
       webView.loadHTMLString("<html><head></head><body><button onclick="native.log('teste');"></button></body></html>", baseURL: Bundle.main.bundleURL)
}

//Carregou a Página? (função)
func webViewDidFinishLoad(_ webView: UIWebView) {
     //Pego o contexto javascript da webView
      if let context = webView.value(forKeyPath: "documentView.webView.mainFrame.javaScriptContext") as! JSContext? {
             //Executa qualquer método que esta no protocolo MainJS através do objeto "native" do javascript
             //Exemplo: native.log('exemplo');
             context.setObject(MainViewController.self, forKeyedSubscript: "native" as (NSCopying & NSObjectProtocol)!)
      }
}