miércoles, 7 de noviembre de 2018

Depliegue de imagenes y sonido con hilos (Practica No. 13)


Sintaxis del programa:


import os #Libreria para obtener direcciones de las carpetas.
import random #Libreria para utilizar random.
import threading #Librera para poder utilziar hilos.
from Tkinter import * #Libreria que importa Tinter para ventanas etc.
import PIL
from PIL import Image, ImageTk #Libreria para poder importar imagenes.
import time #Libreria para poder utilizar el metodo sleep y detener un poco el programa.
import pygame #Libreria utilizada para la creacion de videojuegos.

dir = os.path.dirname(__file__) #Busca  el directorio de la carpeta en donde se esta guardando el programa actual
fotos = dir + "/imagenes/" #Directorio de las imagenes
sonidos = dir + "/Sonidos2/" #Directorio de los sonidos
stop = 0
play = 1

def mostrar():
    global fotos, sonidos
    arreglo = [1, 2, 3, 4, 5, 6, 7, 8]  # Areglo con el nombre de las imagenes
    nombres = ["Cat", "Dog", "House", "Pencil", "Worm", "3D Cube", "Flower", "Car"]  # Arreglo con lo que esta en cada imagen

    while True:
        eleccion_aleatoria = arreglo.index(random.choice(arreglo))  # Elije un numero dentro del arreglo
        seleccion_arreglo = str(eleccion_aleatoria + 1)  # Elije la imagen dependiendo de lo que se elijio en el arreglo
        Tetiqueta.set(nombres[eleccion_aleatoria])  # Se le da el nombre a una variable de lo que se elijo en el arreglo
        img = Image.open(fotos + seleccion_arreglo +".png")
        image = ImageTk.PhotoImage(img)
        imagen.config(image=image)
        sonido = sonidos + seleccion_arreglo + ".mp3"
        pygame.mixer.init()
        pygame.mixer.music.load(sonido)
        pygame.mixer.music.play()
        time.sleep(2)
        if stop == 1:
            break

def iniciar_detener():
    global play, stop

    if play == 1:
        TBoton.set("Pausar")
        hilo = threading.Thread(target=mostrar)
        hilo.start()
        stop = 0
        play = 0
    else:
        TBoton.set("Iniciar")
        play = 1
        stop = 1

ventana = Tk()
ventana.title("Imagenes Aleatorias.exe")
ventana.config(bg="gray")
contenedor = Frame(ventana, width= 500, height=500)
contenedor.pack()

Titulo = Label(contenedor, text="Imagenes Aleatorias", font=("Arial", 20, "bold"),fg="red").place(x=120, y=20)

imagen = Label(contenedor)
imagen.place(x=150, y=100)

Tetiqueta = StringVar()
nombre = Label(contenedor, textvariable=Tetiqueta, font=(("Arial", 40)),fg="purple")
nombre.place(x=170, y=400)

TBoton = StringVar()
TBoton.set("Iniciar")

Biniciar = Button(contenedor, textvariable=TBoton, fg="Blue", command=iniciar_detener)
Biniciar.place(x=400, y=98)


ventana.mainloop()









No hay comentarios.:

Publicar un comentario

Unidad 4: Triangulo y cubo en 3D

Sintaxos del programa triangulo 3d: import pygame from pygame.locals import * from OpenGL.GL import * from OpenGL.GLU import * vert...